javascript

java

python

c#

android

node.js

reactjs

c++

php

html

jquery

css

git

.net

ios

ruby-on-rails

sql

c

string

ruby

如何获取谷歌地图v3中多边形的中心?

它不需要是100%正确的,它可以是边界矩形的中心。

trans by 2019-11-16T14:20:01Z

拒绝在先前失败的类java.lang.Class <nt>上重新初始化:java.lang.NoClassDefFoundE

我在控制台中看到一条信息日志,看起来像一个错误。 它是从“艺术”印刷而成的,“艺术”通常与记忆有关,但我需要帮助了解它的含义。 有问题的类是我的MapFragment类。 MapFragment是我创建的自定义类,该类扩展了SupportMapFragment,以便可以覆盖触摸事件。 此类是否引起此问题,该如何解决?

这是我的MapFragment类

public class MapFragment extends SupportMapFragment {
    private TouchableWrapper mTouchView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View originalContentView = super.onCreateView(inflater, container, savedInstanceState);
        mTouchView = new TouchableWrapper(getActivity());
        mTouchView.addView(originalContentView);
        return mTouchView;
    }

    @Override
    public View getView() {
        return mTouchView;
    }

    /**
     * MapOnTouchListener callback
     *
     * @param listener
     */
    public void setMapTouchListener(TouchableWrapper.MapOnTouchListener listener) {
        mTouchView.setMapOnTouchListener(listener);
    }

我收到的错误是

Rejecting re-init on previously-failed class java.lang.Class<nt>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/chimera/Fragment;
     at java.lang.Class dalvik.system.DexFile.defineClassNative(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile) (DexFile.java:-2)
     at java.lang.Class dalvik.system.DexFile.defineClass(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile, java.util.List) (DexFile.java:299)
    at java.lang.Class dalvik.system.DexFile.loadClassBinaryName(java.lang.String, java.lang.ClassLoader, java.util.List) (DexFile.java:292)
     at java.lang.Class dalvik.system.DexPathList.findClass(java.lang.String, java.util.List) (DexPathList.java:418)
     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:54)
     at java.lang.Class bzi.loadClass(java.lang.String, boolean) (:com.google.android.gms:28)
     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
     at com.google.maps.api.android.lib6.impl.ez com.google.maps.api.android.lib6.impl.fi.a(android.content.Context, com.google.maps.api.android.lib6.drd.as, com.google.maps.api.android.lib6.impl.fp, java.lang.String, boolean) (:com.google.android.gms.DynamiteModulesB:177)
     at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, java.lang.String, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:347)
     at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:320)
     at com.google.maps.api.android.lib6.impl.bq com.google.maps.api.android.lib6.impl.cp.a(com.google.android.gms.maps.GoogleMapOptions) (:com.google.android.gms.DynamiteModulesB:82)
     at un com.google.maps.api.android.lib6.impl.co.a(un, un, android.os.Bundle) (:com.google.android.gms.DynamiteModulesB:139)
     at boolean com.google.android.gms.maps.internal.w.onTransact(int, android.os.Parcel, android.os.Parcel, int) (:com.google.android.gms.DynamiteModulesB:107)
     at boolean android.os.Binder.transact(int, android.os.Parcel, android.os.Parcel, int) (Binder.java:507)
     at com.google.android.gms.dynamic.IObjectWrapper com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(com.google.android.gms.dynamic.IObjectWrapper, com.google.android.gms.dynamic.IObjectWrapper, android.os.Bundle) ((null):-1)
     at android.view.View com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
     at void com.google.android.gms.dynamic.zza$4.zzb(com.google.android.gms.dynamic.LifecycleDelegate) ((null):-1)
     at void com.google.android.gms.dynamic.zza.zza(android.os.Bundle, com.google.android.gms.dynamic.zza$zza) ((null):-1)
     at android.view.View com.google.android.gms.dynamic.zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
     at android.view.View com.google.android.gms.maps.SupportMapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
     at android.view.View android.rider.flex.udi.fragments.MapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (MapFragment.java:19)
     at android.view.View android.support.v4.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2192)
     at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment, int, int, int, boolean) (FragmentManager.java:1255)
     at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment) (FragmentManager.java:1472)
     at void android.support.v4.app.FragmentManagerImpl.addFragment(android.support.v4.app.Fragment, boolean) (FragmentManager.java:1691)
     at android.view.View android.support.v4.app.FragmentManagerImpl.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentManager.java:3440)
     at android.view.View android.support.v4.app.FragmentController.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentController.java:120)
     at android.view.View android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:378)
     at android.view.View android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (BaseFragmentActivityHoneycomb.java:33)
     at android.view.View android.support.v4.app.FragmentActivity.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:79)
     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:784)
     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
     at void android.view.LayoutInflater.parseInclude(org.xmlpull.v1.XmlPullParser, android.content.Context, android.view.View, android.util.AttributeSet) (LayoutInflater.java:1011)
     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:861)
     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
     at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
     at void android.support.v7.app.AppCompatDelegateImplV9.setContentView(int) (AppCompatDelegateImplV9.java:292)
     at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
     at void android.rider.flex.udi.activity.MapActivity.onCreate(android.os.Bundle) (MapActivity.java:196)
     at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6942)
     at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2880)
     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2988)
     at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1631)
     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
     at void android.os.Looper.loop() (Looper.java:154)
     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)  Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.chimera.Fragment" on path: DexPathList[[zip file "/data/data/com.google.android.gms/app_chimera/m/00000024/DynamiteModulesB_GmsCore_prodmnc_alldpi_release.apk"],nativeLibraryDirectories=[/data/user/0/com.google.android.gms/app_chimera/m/00000024/n/arm64-v8a, /system/lib64, /vendor/lib64]]
     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
     at java.lang.Class bzi.loadClass(java.lang.String, boolean) (:com.google.android.gms:34)
     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
     at java.lang.Class dalvik.system.DexFile.defineClassNative(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile) (DexFile.java:-2)
     at java.lang.Class dalvik.system.DexFile.defineClass(java.lang.String, java.lang.ClassLoader, java.lang.Object, dalvik.system.DexFile, java.util.List) (DexFile.java:299)
     at java.lang.Class dalvik.system.DexFile.loadClassBinaryName(java.lang.String, java.lang.ClassLoader, java.util.List) (DexFile.java:292)
     at java.lang.Class dalvik.system.DexPathList.findClass(java.lang.String, java.util.List) (DexPathList.java:418)
     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:54)
     at java.lang.Class bzi.loadClass(java.lang.String, boolean) (:com.google.android.gms:28)
     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
     at com.google.maps.api.android.lib6.impl.ez com.google.maps.api.android.lib6.impl.fi.a(android.content.Context, com.google.maps.api.android.lib6.drd.as, com.google.maps.api.android.lib6.impl.fp, java.lang.String, boolean) (:com.google.android.gms.DynamiteModulesB:177)
     at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, java.lang.String, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:347)
     at com.google.maps.api.android.lib6.impl.az com.google.maps.api.android.lib6.impl.az.a(com.google.android.gms.maps.GoogleMapOptions, boolean, com.google.maps.api.android.lib6.impl.e, android.app.Activity) (:com.google.android.gms.DynamiteModulesB:320)
     at com.google.maps.api.android.lib6.impl.bq com.google.maps.api.android.lib6.impl.cp.a(com.google.android.gms.maps.GoogleMapOptions) (:com.google.android.gms.DynamiteModulesB:82)
     at un com.google.maps.api.android.lib6.impl.co.a(un, un, android.os.Bundle) (:com.google.android.gms.DynamiteModulesB:139)
     at boolean com.google.android.gms.maps.internal.w.onTransact(int, android.os.Parcel, android.os.Parcel, int) (:com.google.android.gms.DynamiteModulesB:107)
     at boolean android.os.Binder.transact(int, android.os.Parcel, android.os.Parcel, int) (Binder.java:507)
     at com.google.android.gms.dynamic.IObjectWrapper com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(com.google.android.gms.dynamic.IObjectWrapper, com.google.android.gms.dynamic.IObjectWrapper, android.os.Bundle) ((null):-1)
     at android.view.View com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
     at void com.google.android.gms.dynamic.zza$4.zzb(com.google.android.gms.dynamic.LifecycleDelegate) ((null):-1)
     at void com.google.android.gms.dynamic.zza.zza(android.os.Bundle, com.google.android.gms.dynamic.zza$zza) ((null):-1)
     at android.view.View com.google.android.gms.dynamic.zza.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
     at android.view.View com.google.android.gms.maps.SupportMapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) ((null):-1)
     at android.view.View android.rider.flex.udi.fragments.MapFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (MapFragment.java:19)
     at android.view.View android.support.v4.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2192)
     at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment, int, int, int, boolean) (FragmentManager.java:1255)
     at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment) (FragmentManager.java:1472)
     at void android.support.v4.app.FragmentManagerImpl.addFragment(android.support.v4.app.Fragment, boolean) (FragmentManager.java:1691)
     at android.view.View android.support.v4.app.FragmentManagerImpl.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentManager.java:3440)
     at android.view.View android.support.v4.app.FragmentController.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentController.java:120)
     at android.view.View android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:378)
     at android.view.View android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (BaseFragmentActivityHoneycomb.java:33)
     at android.view.View android.support.v4.app.FragmentActivity.onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (FragmentActivity.java:79)
     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:784)
     at android.view.View android.view.LayoutInflater.createViewFromTag(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet) (LayoutInflater.java:734)
     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:865)
     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
     at void android.view.LayoutInflater.parseInclude(org.xmlpull.v1.XmlPullParser, android.content.Context, android.view.View, android.util.AttributeSet) (LayoutInflater.java:1011)
     at void android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, android.view.View, android.content.Context, android.util.AttributeSet, boolean) (LayoutInflater.java:861)
     at void android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, android.view.View, android.util.AttributeSet, boolean) (LayoutInflater.java:828)
     at android.view.View android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, android.view.ViewGroup, boolean) (LayoutInflater.java:525)
     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean) (LayoutInflater.java:427)
     at android.view.View android.view.LayoutInflater.inflate(int, android.view.ViewGroup) (LayoutInflater.java:378)
     at void android.support.v7.app.AppCompatDelegateImplV9.setContentView(int) (AppCompatDelegateImplV9.java:292)
     at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
     at void android.rider.flex.udi.activity.MapActivity.onCreate(android.os.Bundle) (MapActivity.java:196)
     at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6942)
     at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1126)
     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2880)
     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2988)
     at void android.app.ActivityThread.-wrap14(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1631)
     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
     at void android.os.Looper.loop() (Looper.java:154)
     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6682)
     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:1520)
     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1410)
trans by 2019-11-15T18:47:38Z

Android Google Maps:禁用MapFragmen中的拖动

当用户尝试用手指拖动地图而不干扰“放大”和“缩小”时,是否可以禁用拖动功能?

任何人都可以提出一个建议!   感谢您的宝贵帮助!

trans by 2019-11-11T09:35:01Z

html-如何安全使用Google API密钥

因此,我正在执行的第一个项目中使用Google Maps API。是的,我是新手,如果这是基础知识或显而易见的事情,对不起,但我找不到明确的答案或方向。 以下是我从Google找到的有关安全使用API密钥的文档。


安全使用API密钥的最佳做法

在应用程序中使用API密钥时,请注意确保其安全。 公开暴露您的凭据可能会导致您的帐户遭到盗用,这可能会导致您的帐户产生意外费用。 为了确保API密钥的安全,请遵循以下最佳做法:

不要将API密钥直接嵌入代码中:嵌入在代码中的API密钥可能会意外地向公众公开-例如,如果您忘记从共享的代码中删除密钥。不要将API密钥嵌入到应用程序中,而是将它们存储在环境变量或应用程序源代码树之外的文件中。不要将API密钥存储在应用程序的源代码树中的文件中:如果将API密钥存储在文件的源代码树中,请将文件保留在应用程序的源代码树之外,以确保密钥不会最终出现在源代码控制系统中。如果您使用公共源代码管理系统(例如GitHub),则这一点尤其重要。限制API密钥仅由需要它们的IP地址,引荐来源URL和移动应用程序使用:通过限制IP地址,引荐来源URL和可以使用每个密钥的移动应用程序,您可以减少受到破坏的API的影响键。您可以通过打开“凭据”页面,然后使用所需的设置创建新的API密钥,或编辑API密钥的设置,来指定可从控制台使用每个密钥的主机和应用程序。删除不需要的API密钥:为了最大程度地减少遭受攻击的风险,请删除不再需要的所有API密钥。定期重新生成API密钥:通过单击每个密钥的“重新生成密钥”,可以从Cloud Platform控制台凭据页面重新生成API密钥。然后,更新您的应用程序以使用新生成的密钥。生成替换密钥后,您的旧密钥将继续工作24小时。在公开发布代码之前,请先对其进行审阅:在公开发布代码之前,请确保您的代码不包含API密钥或任何其他私人信息。


现在我的问题是,如果不直接将其放入代码中,便无法弄清楚如何将Google Map整合到我的网站中。 现在,我的API像这样在我的index.html中:

<script async defer
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>

但这再次直接在我的代码中供全世界使用,我认为这是错误的方法。

trans by 2019-11-10T12:52:31Z

谷歌地图-从地址到经纬度数字的Javascript地理编码不起作用

我正在使用以下地理编码功能将文本地址转换为纬度和经度数字,但无法正常工作。 警报写“未定义”。

谁能说什么错?

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">

var geocoder = new google.maps.Geocoder();
var address = "new york";

geocoder.geocode( { 'address': address}, function(results, status) {

if (status == google.maps.GeocoderStatus.OK) {
    var latitude = results[0].geometry.location.latitude;
    var longitude = results[0].geometry.location.longitude;
    alert(latitude);
    } 
}); 
</script>
trans by 2019-11-10T09:44:14Z

google maps-适用于Localhost的Google Maps API密钥

如何获取Google Maps API密钥以在本地主机上工作?

我创建了一个API密钥,并在引用下添加了以下内容:

Accept requests from these HTTP referrers (websites) (Optional)

Use asterisks for wildcards. If you leave this blank, requests will be 
accepted from any referrer. Be sure to add referrers before using this key 
in production. 

localhost

这不起作用,如果我排除了api键,它也不起作用吗?

trans by 2019-11-09T19:57:32Z

javascript-将Google Maps JS API ImageMapType剪切为多边形

如何将Google Maps中的MapType裁剪到任意多边形。 例如,如果我有一个自定义的ImageMapType可以覆盖大面积(即整个世界),但是我只想在给定的多边形(即一个国家)内显示它。

有没有一种方法可以将ImageMapType裁剪为给定的多边形,或者实现自定义MapType来实现此行为? 它应该允许正常缩放和平移。

其余地图应保持不变,并且会有一个MapType仅覆盖特定区域。 因此,不可能简单地覆盖多边形以覆盖多边形外部的区域以仅显示所需的内容。

像这样:

Australia map with a clipped overlay on South Australia

服务器端裁剪不是一种选择。

trans by 2019-11-08T18:03:01Z

android-Google Map Api v2在日志中显示“ V / GoogleSignatureVerifier:签名无效”错误消息

我正在使用google map api v2开发一个Android应用程序,以在片段中显示地图。 当我运行应用程序时,我总是时不时地在日志中收到该错误消息poppin。

我试过的事情:

  • 清除debug.keystore并重建应用程序。
  • 降级Google Play服务,然后再次升级。
  • 取消选择离线工作

到目前为止,没有任何窍门...

很久以前,在“日志”选项卡中:

    2364-3928/com.example.android.app E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.android.gms.googlecertificates.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.example.android.app-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.android.app-2/lib/arm, /data/app/com.example.android.app-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
    2364-3928/com.example.android.app I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:1
    2364-3928/com.example.android.app I/DynamiteModule: Selected remote version of com.google.android.gms.googlecertificates, version >= 1
    2364-3928/com.example.android.app W/System: ClassLoader referenced unknown path: /data/user/0/com.google.android.gms/app_chimera/m/00000000/n/armeabi
    2364-3928/com.example.android.app D/ChimeraFileApk: Primary ABI of requesting process is armeabi-v7a
    2364-3928/com.example.android.app D/ChimeraFileApk: Classloading successful. Optimized code found.
    2364-3928/com.example.android.app D/GoogleCertificates: com.google.android.gms.googlecertificates module is loaded
    2364-3928/com.example.android.app D/GoogleCertificatesImpl: Fetched 154 Google release certificates
    1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid.  Found: 
                                              MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G
                                              A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0
                                              WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV
                                              UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c
                                              vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g
                                              lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG
                                              9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7
                                              FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW
                                              RxXtAwqeIkV1+L1rY8WueawfQ7Wbm1bPOg==
    1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid.  Found: 
                                              MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G
                                              A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0
                                              WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV
                                              UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c
                                              vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g
                                              lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG
                                              9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7
                                              FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW
                                              RxXtAwqeIkV1+L1rY8WueawfQ7Wbm1bPOg==
    1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid.  Found: 
                                              MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G
                                              A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0
                                              WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV
                                              UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c
                                              vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g
                                              lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG
                                              9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7
                                              FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW
                                              RxXtAwqeIkV1+L1rY8WueawfQ7Wbm1bPOg==
    1921-2130/? V/GoogleSignatureVerifier: com.example.android.app signature not valid.  Found: 
                                              MIIB3TCCAUYCAQEwDQYJKoZIhvcNAQEFBQAwNzEWMBQGA1UEAwwNQW5kcm9pZCBEZWJ1ZzEQMA4G
                                              A1UECgwHQW5kcm9pZDELMAkGA1UEBhMCVVMwHhcNMTYwNTE3MTYxNzM0WhcNNDYwNTEwMTYxNzM0
                                              WjA3MRYwFAYDVQQDDA1BbmRyb2lkIERlYnVnMRAwDgYDVQQKDAdBbmRyb2lkMQswCQYDVQQGEwJV
                                              UzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkafVu0j1zuB6+cpo6q5OsfhrlEFzVknFNs0c
                                              vJorrlTTPZK3WSmkX9jZ0cp6oL60+4mHPouAR7Hq72gAs8u9Zh3eVrnV7uP7Rv2/z84DJuo34z1g
                                              lahfkNPR/mCsYkK+ZqkC6uR46NnoftoKC/9vJSlUxYaBLT+mWvApz4rUKuMCAwEAATANBgkqhkiG
                                              9w0BAQUFAAOBgQAERId+C7AD5Ew4Jv4mTmaZWBUtkinCKFSF4RtVa3xnHjL5xDPbAEq829gt+yx7
                                              FkftGZO1x5nWEdAWyxiZgET3sKyl4ejRu1V5qvTMOcPMaVHw/e5v97FK8q756tQBcAu+Zs77P6MW

UPDATE

我仍然收到错误消息,此后是否有人修复?

/com.example.android.greenLeaf V/GoogleSignatureVerifier: com.google.android.gms signature not valid.  Found: 
                                      MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMw
                                      EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29n
                                      bGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEz
                                      MzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw
                                      FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5k
                                      cm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtW
                                      LgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKke
                                      dxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjA
                                      sb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/Cx
                                      URaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJE
                                      qO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/T
                                      gt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYD
                                      VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIG
                                      A1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC
                                      4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/y
                                      zKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCE
                                      yj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1S
                                      KMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifK
                                      Z0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3Wf
                                      MBEmh/9iFBDAaTCK
trans by 2019-11-05T18:40:15Z

CSS-设定Google Maps Container DIV宽度和高度100%

我加载了Google Maps API v3,并在div中打印了Google Map。但是,当将width&height设置为100%并且是auto时,我看不到地图。

这是HTML代码段。

<!-- Maps Container -->
<div id="map_canvas" style="height:100%;width:100px;margin:0 auto;"></div>

有没有解决此问题的方法?

trans by 2019-10-15T12:43:01Z

javascript-如何在Google地图中设置缩放级别

这是我编写的通过提供经度和纬度将标记添加到Google地图的代码。 问题是我得到了高度缩放的谷歌地图。 我尝试将缩放级别设置为1,但这对高度缩放的地图没有影响。

 <script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script>
     <script type="text/javascript">
        var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/micons/blue.png",new google.maps.Size(32, 32), new google.maps.Point(0, 0),new google.maps.Point(16, 32));
        var center = null;
        var map = null;
        var currentPopup;
        var bounds = new google.maps.LatLngBounds();
        function addMarker(lat, lng, info) {
            var pt = new google.maps.LatLng(lat, lng);
            bounds.extend(pt);
            var marker = new google.maps.Marker({
                position: pt,
                icon: icon,
                map: map
            });
            var popup = new google.maps.InfoWindow({
                content: info,
                maxWidth: 300
            });
            google.maps.event.addListener(marker, "click", function() {
                if (currentPopup != null) {
                    currentPopup.close();
                    currentPopup = null;
                }
                popup.open(map, marker);
                currentPopup = popup;
            });
            google.maps.event.addListener(popup, "closeclick", function() {
                map.panTo(center);
                currentPopup = null;
            });
        }
        function initMap() {
            map = new google.maps.Map(document.getElementById("map"), {
            center: new google.maps.LatLng(0, 0),
            zoom: 1,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControl: false,
            mapTypeControlOptions: {
                style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
            },
            navigationControl: true,
            navigationControlOptions: {
                style: google.maps.NavigationControlStyle.SMALL
            }
        });
        addMarker(27.703402,85.311668,'New Road');
        center = bounds.getCenter();
        map.fitBounds(bounds);

        }
</script>
</head>
<body onload="initMap()" style="margin:0px; border:0px; padding:0px;">
<div id="map"></div>
</body>
</html>

在这种情况下,如何降低变焦等级?

trans by 2019-10-14T20:22:34Z

html-如何在div上浮动div?

我有div,它显示Google地图。

如何使另一个div漂浮在地图div上?

trans by 2019-10-12T22:19:54Z

JavaScript-拖动时多次触发Google Map事件bounds_changed

我有一个带有标记的Google地图。 我希望在移动/缩放地图时刷新我的标记...

Google建议为此使用事件bounds_changed,但是当我移动地图时,将为我移动地图的每个像素触发该事件。 我希望仅当用户停止移动地图(即他在拖动后释放鼠标按钮)时刷新地图。

我怎样才能做到这一点 ?

谢谢

trans by 2019-10-11T03:24:19Z

Google Maps API V3中的API密钥是什么?

在较旧版本的API中,我必须使用类似这样的方式将javascript插入页面,才能使基本功能正常工作:

[http://maps.google.com/maps?file=api&v=2&key=GoogleMapsAPIKey]

我必须在其中为每个站点配置API密钥。 查看文档,它说要使基本地图正常工作,我只需要这样做:

[http://maps.google.com/maps/api/js?sensor=true/false]

API密钥放在哪里? 如果我仅打算使用基本地图和标记,而没有更高级的功能,则是否需要担心?

我也在localhost上进行测试,但是FAQ表示我仍然需要为其注册一个密钥,但尚未完成,并且仍然可以使用。

trans by 2019-10-10T17:14:43Z

android-GPS是否需要互联网?

我必须先打开InternetGPS,然后才能在应用程序中读取当前位置(国家/地区,城市,地理位置等)吗? 如果是这样,那么还有其他方法只能从GPS获取位置吗? 由于互联网的可用性是一个问题。

trans by 2019-10-10T11:10:29Z

JavaScript-Google地图部分出现,灰色区域出现,而不是Google的图像

有时,谷歌地图会与其他区域一起变灰。 有一个问题,如果我们启动Firebug,图像确实会进入该灰色区域。 不知道为什么会这样。任何人都曾经历过这种情况并找到了解决方案,请分享。

trans by 2019-10-09T13:48:34Z

谷歌地图-是否有可能捕获JavaScript异步回调中引发的异常?

有没有办法在JavaScript回调中捕获异常? 可能吗

Uncaught Error: Invalid value for property <address>

这是jsfiddle:[http://jsfiddle.net/kjy112/yQhhy/]

try {
    // this will cause an exception in google.maps.Geocoder().geocode() 
    // since it expects a string.
    var zipcode = 30045; 
    var map = new google.maps.Map(document.getElementById('map_canvas'), {
        zoom: 5,
        center: new google.maps.LatLng(35.137879, -82.836914),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    // exception in callback:
    var geo = new google.maps.Geocoder().geocode({ 'address': zipcode }, 
       function(geoResult, geoStatus) {
          if (geoStatus != google.maps.GeocoderStatus.OK) console.log(geoStatus);
       }
    );
} catch (e) {
    if(e instanceof TypeError)
       alert('TypeError');
    else
       alert(e);
}​
trans by 2019-10-07T15:58:45Z

CSS-如何在Google Places Autocomplete API上为下拉菜单设置样式?

在使用Google Places / Maps自动填充API时,我们需要调整显示自动填充位置建议的下拉菜单的样式。

有谁知道这是否有可能? 如果是这样,我想我们只需要知道CSS类名/ ID即可。

我在这里指的是屏幕抓取:

Screengrab >

trans by 2019-10-07T06:07:39Z

Android中的Google Map签名API密钥错误

当我从调试映射密钥切换到签名的映射密钥时,映射停止工作。 我在logcat中收到以下错误:

09-03 18:18:04.112: WARN/System.err(4073): IOException processing: 26
09-03 18:18:04.112: WARN/System.err(4073): java.io.IOException: Server returned: 3
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994)
09-03 18:18:04.112: WARN/System.err(4073):     at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)
09-03 18:18:04.112: WARN/System.err(4073):     at java.lang.Thread.run(Thread.java:1019)

我已经仔细检查了所有内容,权限和库。 我重新创建了唯一的密钥,没有运气。

有任何想法吗?

trans by 2019-10-06T17:41:11Z

android-getLastKnownLocation返回nu

我已经阅读了有关此问题的一些问题,但并没有找到我需要的答案。

因此,情况是我已经设置了地图,并且想要获取当前的GPS位置。我检查过我的变量不是NULL,但是我的结果是:

getLastKnownLocation(provider, false);

虽然给我null,所以这是我需要帮助的地方。我已经添加了对COARSE + FINE位置的权限。 但是我通常会禁用手机的各种网络数据,因为我对手机账单中不可预测的数据流费用感到不满意。 因此,此测试仅启用并连接了WiFi。

为了使之成为可能,我还需要启用更多功能吗? 我认为WiFi应该足够了吗?

trans by 2019-10-06T01:30:58Z

Android Google Maps v2:如何使用多行代码片段添加标记?

有人知道如何在Google Maps标记中添加多行代码段吗? 那是我添加标记的代码:

map.getMap().addMarker(new MarkerOptions()
    .position(latLng()).snippet(snippetText)
    .title(header).icon(icon));

我希望代码段看起来像这样:

| HEADER |
|foo     |
|bar     |

但是,当我尝试将snippetText设置为“ foo \ n bar”时,我只会看到foo bar,而且我对如何使其成为多行一无所知。 你能帮助我吗?

trans by 2019-10-03T13:28:54Z

1 2 3 4 5 下一页 共5页