Questions tagged «google-maps»

Google Maps是Google提供的桌面和移动网络地图服务应用程序和技术,可提供卫星图像,街道地图和街景视图的透视图。还支持通过Google Maps API嵌入第三方网站的地图,以及面向全球许多国家的城市企业和其他组织的定位器。

5
Google Maps Api v3-getBounds未定义
我从v2切换到v3 google maps api,gMap.getBounds()功能出现问题。 初始化后,我需要获取地图的边界。 这是我的JavaScript代码: var gMap; $(document).ready( function() { var latlng = new google.maps.LatLng(55.755327, 37.622166); var myOptions = { zoom: 12, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; gMap = new google.maps.Map(document.getElementById("GoogleMapControl"), myOptions); alert(gMap.getBounds()); } ); 所以现在它提醒我gMap.getBounds()未定义。 我尝试在click事件中获取getBounds值,它对我来说很好,但是在加载映射事件中我无法获得相同的结果。 在Google Maps API v2中加载文档时,getBounds也可以正常工作,但在V3中失败。 您能帮我解决这个问题吗?


8
getLastKnownLocation返回null
我已经阅读了有关此问题的一些问题,但并没有找到我需要的答案。 因此,情况是我已经设置了地图,并且想要获取当前的GPS位置。我检查过我的变量不是NULL,但是我的结果是: getLastKnownLocation(provider, false); 虽然给我null,所以这是我需要帮助的地方。我已经添加了对COARSE + FINE位置的权限。但是我通常会禁用手机的各种网络数据,因为我对手机账单中不可预测的数据流费用感到不满意。因此,此测试仅启用并连接了WiFi。 为了使之成为可能,我还需要启用更多功能吗?我认为WiFi应该足够了吗?

30
Google Maps API v3:InfoWindow大小不正确
当您单击我的Google Maps v3上的主页图标时,我的InfoWindow似乎没有正确调整到InfoWindow内容的大小。 它在不应该时提供滚动条。InfoWindow应该正确地自动调整大小。 有什么想法吗? 根据请求,相关的JavaScript会为InfoWindow注入HTML: listing = '<div>Content goes here</div>'; 更新 此错误已由有问题的Google处理 https://issuetracker.google.com/issues/35823659 该修复程序于2015年2月在Maps JavaScript API的3.19版中实现。

12
片段中的MapView(蜂窝)
现在,最终的SDK已与Google API结合使用-用MapView创建Fragment的最佳方法是什么?MapView需要MapActivity才能正常工作。 让Activity管理Fragments继承自MapActivity(糟糕的解决方案,因为它违背了Fragments自包含的想法),并且无法使用基于XML的常规布局。我在MapActivity.setupMapView()中得到了NullPointerException: E / AndroidRuntime(597):由以下原因引起:java.lang.NullPointerException E / AndroidRuntime(597):位于com.google.android.maps.MapActivity.setupMapView(MapActivity.java:400) E / AndroidRuntime(597):位于com.google.android.maps.MapView。(MapView.java:289) E / AndroidRuntime(597):位于com.google.android.maps.MapView。(MapView.java:264) E / AndroidRuntime(597):位于com.google.android.maps.MapView。(MapView.java:247) 我的第二个想法是以编程方式创建MapView,并将关联的活动(通过getActivity())作为上下文传递给MapView构造函数。不起作用: E / AndroidRuntime(834):原因:java.lang.IllegalArgumentException:只能在MapActivity实例内部创建MapView。 E / AndroidRuntime(834):位于com.google.android.maps.MapView。(MapView.java:291) E / AndroidRuntime(834):位于com.google.android.maps.MapView。(MapView.java:235) E / AndroidRuntime(834):位于de.foo.FinderMapFragment.onCreateView(FinderMapFragment.java:225) E / AndroidRuntime(834):位于android.app.FragmentManagerImpl.moveToState(FragmentManager.java:708) E / AndroidRuntime(834):位于android.app.FragmentManagerImpl.moveToState(FragmentManager.java:900) E / AndroidRuntime(834):位于android.app.FragmentManagerImpl.addFragment(FragmentManager.java:978) E / AndroidRuntime(834):位于android.app.Activity.onCreateView(Activity.java:4090) E / AndroidRuntime(834):位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664) 确实应该有像MapFragment这样的东西来处理MapView我需要的后台线程...那么,目前这样做的最佳实践是什么? 感谢德国瓦伦丁先生

2
HTML5的GeoLocation到底如何工作?
我知道浏览器会共享我的IP地址和附近无线网络的详细信息来确定我的位置,但是它知道关于附近wifi网络的哪些信息? 例如,我所住的地方没有公共无线网络,从我的家中可以看到大约5个专用网络,但我的位置确定在20米以内。由于附近没有开放的网络,Google如何确定我的位置?我能想到的唯一方法是,当Google为街景视图绘制街道时,它们会绘制所有无线网络的位置。 我已经在网上搜索了有关信息,但我找不到任何特定的详细信息。

5
将ID添加到Google地图标记
我有一个脚本,可以一次循环并添加一个标记。 我正在尝试使当前标记具有一个信息窗口,并且一次在地图上仅具有5个标记(4个没有信息窗口,而1个带有信息窗口) 如何为每个标记添加ID,以便可以根据需要删除和关闭信息窗口。 这是我用来设置标记的功能: function codeAddress(address, contentString) { var infowindow = new google.maps.InfoWindow({ content: contentString }); if (geocoder) { geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); infowindow.open(map,marker); } else { alert("Geocode was not successful …

8
Google Maps API V3:奇怪的UI显示故障(带有屏幕截图)
任何对google maps UI组件导致这种奇怪故障的原因有任何想法的人,非常感谢您的来信! 该地图是通过以下方式创建的: var options = { zoom: <?php echo $this->zoom ?>, center: new google.maps.LatLng(<?php echo $this->centre_lat ?>, <?php echo $this->centre_lon ?>), mapTypeControl: false, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('map_canvas'), options); 即使没有标记,故障也一样。

8
Google Maps v3:强制执行 使用fitBounds时的缩放级别
我正在地图上绘制一系列标记(使用maps api的v3)。 在v2中,我有以下代码: bounds = new GLatLngBounds(); ... loop thru and put markers on map ... bounds.extend(point); ... end looping map.setCenter(bounds.getCenter()); var level = map.getBoundsZoomLevel(bounds); if ( level == 1 ) level = 5; map.setZoom(level > 6 ? 6 : level); 而且可以很好地确保地图上始终显示适当级别的细节。 我正在尝试在v3中复制此功能,但setZoom和fitBounds似乎不配合: ... loop thru and put markers on …

6
将fitBounds()与Google Maps API V3结合使用后,使用setZoom()
我正在使用fitBounds()在地图上设置缩放级别,也包括当前显示的所有标记。但是,当我只看到一个标记时,缩放比例为100%(...我认为是20的缩放比例...)。但是,我不希望它被放大得那么远,以便用户无需缩小就可以调整标记的位置。 我有以下代码: var marker = this.map.createMarker(view.latlng, this.markerNumber); this.map.bounds.extend(view.latlng); this.map.map.setCenter(this.map.bounds.getCenter()); this.map.map.fitBounds(this.map.bounds); if (this.markerNumber === 1) { this.map.map.setZoom(16); } this.markerNumber++; 之前this.map.bounds定义为: this.map.bounds = new google.maps.LatLngBounds(); 但是,我遇到的问题是,this.map.map.setZoom(16);如果使用this.map.map.fitBounds(this.map.bounds);,则该行不起作用,但是,我知道代码行是正确的,因为当我注释掉fitBound()行时,setZoom()会神奇地开始运行。 有什么想法可以解决吗?如果无法正常工作,我正在考虑设置maxZoom级别作为替代。

5
谷歌地方图书馆没有地图
我正在尝试将Google地方信息库用于附近的搜索请求:https : //developers.google.com/maps/documentation/javascript/places#place_search_requests 我只想提取json响应并将其放在html列表中,现在我确实想在地图或其他内容上显示结果。我根本不想使用地图。但在文档中指出必须有一张地图 service = new google.maps.places.PlacesService(**map**); 以便将其作为参数传递给PlacesService函数。我现在要做的是添加一个高度为0的地图,但它仍然消耗大量内存(我开发了sencha touch 2应用程序,内存很重要)。有没有在没有地图的情况下使用附近搜索请求的解决方法?我不想使用Google Places API,因为它不支持JSONP请求。

2
如何安全使用Google API密钥
因此,我正在执行的第一个项目上使用Google Maps API。是的,我是新手,如果这是基础知识或显而易见的事情,对不起,但我找不到明确的答案或方向。以下是我从Google找到的有关安全使用API​​密钥的文档。 安全使用API​​密钥的最佳做法 在应用程序中使用API​​密钥时,请注意确保其安全。公开公开您的凭据可能会导致您的帐户遭到盗用,这可能会导致您的帐户产生意外费用。为了确保您的API密钥安全,请遵循以下最佳做法: 不要将API密钥直接嵌入代码中:嵌入在代码中的API密钥可能会意外地向公众公开-例如,如果您忘记从共享代码中删除密钥。不要将API密钥嵌入到应用程序中,而是将它们存储在环境变量或应用程序源代码树之外的文件中。不要将API密钥存储在应用程序源树中的文件中:如果将API密钥存储在文件中,请将文件保留在应用程序源树之外,以帮助确保密钥不会最终出现在源代码控制系统中。如果您使用公共源代码管理系统(例如GitHub),则这一点尤其重要。限制您的API密钥仅由需要IP地址,引荐来源网址的网址和移动应用使用:通过限制IP地址,引荐来源网址,以及可以使用每个密钥的移动应用程序,则可以减少泄露的API密钥的影响。您可以通过打开“凭据”页面,然后使用所需的设置创建新的API密钥,或编辑API密钥的设置,来指定可从控制台使用每个密钥的主机和应用程序。删除不需要的API密钥:为了最大程度地减少遭受攻击的风险,请删除不再需要的所有API密钥。定期重新生成API密钥:通过单击每个密钥的“重新生成密钥”,可以从Cloud Platform控制台凭据页面重新生成API密钥。然后,更新您的应用程序以使用新生成的密钥。生成替换密钥后,您的旧密钥将继续工作24小时。在公开发布代码之前,请先对其进行检查: 现在我的问题是,如果不直接将其放入代码中,我将无法弄清楚如何将Google Map整合到我的网站中。现在,我的API像这样在我的index.html中: <script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"> </script> 但这再次直接在我的代码中供全世界使用,我认为这是错误的方式。


5
Google Maps如何保护其API密钥?如何做类似的事情?
当前,Google要求您创建一个API密钥,该API密钥特定于将要从中提供地图的域。Google如何执行?我想做同样的事情。 我公开了用于我的服务的API,但希望允许客户端通过javascript而不是仅从服务器嵌入对API的调用。我可以用一个随机令牌来保护它,但是任何在客户端计算机上查看代码的人都可以轻易地欺骗它。 我一直都认为这个概念是不可能的,但是Google会以某种方式很好地执行它。 编辑-听起来Google确实还没有做任何令人惊奇的事情。他们的API很可能仅用于跟踪,而不能真正保证拥有钥匙的人使用他们的API。

15
如何限制Google Maps API V3中的平移?
在V2中,有一种方法可以限制平移/拖动,以便地图保持在一定范围内。在V3中如何完成? 假设我希望用户只看欧洲。我已经限制了缩放,但是如果允许拖动(出于其他原因,在这种情况下,我必须这样做),则用户可以平移超出我要显示的区域。 请提供工作示例或代码段-我不是专家编码人员...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.