小编xom*_*ena的帖子

从地理编码中获取城市结果Google Maps Api

我使用Google Maps API(https://maps.googleapis.com/maps/api/geocode/xml)对地点和地址进行地理编码.但是,结果似乎不一致.administrative_area_level_2和locality或locality和sublocality_level_1似乎重叠.但是,根据地址,重叠是不同的.我需要做的一件事就是确定城市.文件说明该地区相当于一个城市,具体取决于国家.

如果我对"Noord-Holland,Nederland"进行地理编码,这是我得到的一个省:

  • 国家:荷兰
  • administrative_area_level_1:Noord-Holland

我能够了解.一切似乎都很好......

如果我对"Amsterdam,Noord-Holland,Nederland"进行地理编码,我会得到以下结果:

  • 国家:荷兰
  • administrative_area_level_1:Noord-Holland
  • administrative_area_level_2:阿姆斯特丹
  • 地区:阿姆斯特丹

在这里,我开始不理解结果.为什么阿姆斯特丹被列为administrative_area_level_2以及一个地方?也许有更高的政府机构同名?但是好的,阿姆斯特丹是当地,因此是城市.哪个是对的.

如果我对"Anton de Komplein 150,1102 CW Amsterdam,Noord-Holland,Nederland"进行地理编码,我会得到以下结果:

  • 国家:荷兰
  • administrative_area_level_1:北荷兰省
  • administrative_area_level_2:阿姆斯特丹
  • 地方:阿姆斯特丹,祖伊多斯特
  • sublocality_level_1:阿姆斯特丹,祖伊多斯特

现在我真的不明白.

  1. 这里是Amsterdam-Zuidoost两次提到的
  2. 为什么这里的地方是"Amsterdam-Zuidoost"?这不是城市...我会假设"阿姆斯特丹"将是地方,而"Amsterdam-Zuidoost"则是sublocality_level_1.

有人可以解释我应该如何解释结果吗?

google-maps google-maps-api-3

5
推荐指数
1
解决办法
452
查看次数

iOS 错误:Google 地图无法在 iPhone 上加载地图

Google 地图不会在 iPhone 上加载地图。但是,当我将 iPhone 连接到 Xcode 并执行该项目时,它会正确加载地图。

这是我的代码:

let camera = GMSCameraPosition.camera(withLatitude: -33.868, longitude: 151.2086, zoom: 14)
let mapViewtest = GMSMapView.map(withFrame: .zero, camera: camera)

let marker = GMSMarker()
marker.position = camera.target
marker.snippet = "Hello World"
//marker.appearAnimation = kGMSMarkerAnimationPop
marker.map = mapViewtest

view = mapViewtest
Run Code Online (Sandbox Code Playgroud)

控制台向我显示了这一点,但我不知道它是否与该问题有关:

CoreData:注释:无法在路径“/var/containers/Bundle/Application/33FC89CC-DC52-4212-A361-F54DD2AC3CD9/App_name.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileProto.omo”加载优化模型

编辑

问题是地图没有出现,但标记正确显示

在连接到 xcode 的 Iphone 上运行应用程序 在此输入图像描述

无需 xcode 即可运行应用程序 在此输入图像描述

google-maps ios swift

5
推荐指数
1
解决办法
2829
查看次数

我可以在osmdroid上使用Google地图图块吗?

我正在开发一个支持谷歌地图瓷砖osmdroid的应用程序.可以在osmdroid中使用Google地图图块吗?

android google-maps openstreetmap osmdroid google-maps-android-api-2

4
推荐指数
1
解决办法
608
查看次数

如何设置 Google API 密钥限制 - HTTP 引荐来源网址

Google API 密钥限制 - HTTP 引荐来源网址

我把我的 Azure 网站 url xxxx.scm.azurewebsites.net 放在那里,但不起作用(Google Places API Web 服务停止工作)。

localhost:44300 也不起作用。

我必须将密钥限制设置为“无”,然后 Google Places API Web 服务才能工作。

我做错了什么?

google-maps google-api google-places-api

4
推荐指数
1
解决办法
9185
查看次数

我可以在Google Maps Android中绘制弯曲的虚线吗?

在具有弯曲虚线的浏览器的Google地图中,如下所示: 在此输入图像描述

但是,当我在自己的Android项目中实施Google地图时,它并未显示此行

在此输入图像描述

我怎么画这条线?

android google-maps google-maps-android-api-2

4
推荐指数
3
解决办法
4387
查看次数

如何在标记下显示文本

我在地图上显示标记时遇到一个问题.我想在标记下方显示一些文字,但无论如何我都做不到.这是我的示例代码,我想知道我需要添加它以在标记显示时永久显示

像这样

这是我的代码示例的一部分:

loop  
     htp.print('geocoder.getLatLng(');  
     htp.print(''''||r_klt.geoloc||''''||',');  
     htp.print('function(point) {');  
     htp.print('var baseIcon = new GIcon(G_DEFAULT_ICON);');  
     htp.print('baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png%22;');  
   --htp.print('baseIcon.shadow = "/i/pdf.png";');  
     htp.print('baseIcon.iconSize = new GSize(20, 34);');  
     htp.print('baseIcon.shadowSize = new GSize(37, 34);');  
     htp.print('baseIcon.iconAnchor = new GPoint(9, 34);');  
     htp.print('baseIcon.infoWindowAnchor = new GPoint(9, 2);');  
     htp.print('var letteredIcon = new GIcon(baseIcon);');  
     l_address := r_klt.geoloc;
     htp.print('letteredIcon.image = "http://www.google.com/mapfiles/marker'%7C%7Cchr(65+l_t)%7C%7C'.png%22;');    
     htp.print('markerOptions = { icon:letteredIcon'};');   
     htp.print('var marker = new GMarker(point,markerOptions);');  
     htp.print('var html = "<h1>'||r_klt.geoloc||'</h1>";');
     htp.print('GEvent.addListener(marker, "mouseover", function() {  marker.openInfoWindowHtml(html);  });');
     htp.print('map.addOverlay(marker);');  
     htp.print('}');  
     htp.print(');');  
     l_t := l_t + 1;  
   end loop;  
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3 google-maps-markers

4
推荐指数
1
解决办法
5775
查看次数

谷歌地图JS API"StreetViewPanorama"显示黑屏某些地址

我在JavaScript街景视图中添加了以下代码.

 var geocoder = new google.maps.Geocoder();
 var address = "2 Simei Street 3, Singapore, Singapore 529889";

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

       if (status == google.maps.GeocoderStatus.OK) {
            var latitude = results[0].geometry.location.lat();
            var longitude = results[0].geometry.location.lng();

            console.log(latitude + " " + longitude);

            var panorama = new google.maps.StreetViewPanorama(
                    document.getElementById('street-view'), {
                    position: {lat: latitude, lng: longitude},
            });
       }
 });
Run Code Online (Sandbox Code Playgroud)

对于像"2 Simei Street 3,Singapore,Singapore 529889"和"1 Hacienda Grove,Singapore 457908"这样的地址,不显示街景,黑屏即将到来.

其他地址如"105 Simei Street 1,Singapore 520105"街景正确显示.

我不明白是什么问题.我能做什么才能使所有地址都正常.

javascript google-maps google-maps-api-3 google-street-view

4
推荐指数
1
解决办法
2727
查看次数

Google Maps Geocoding API使用限制

我目前正在使用Google的地理地理编码API,并且正如文档所述,它每天限制使用2500个请求.

是否有一些服务我可以打电话来检查我已经做了多少请求,或者我还能做什么?我知道在Google的API控制台中有这些信息,但我正在考虑使用我的应用程序以编程方式执行某些操作,它可以自己知道当前状态并通知我请求是否接近结束.

仅供参考:我知道如果请求结束,服务会返回一个告知OVER_QUOTA的标志,但我有兴趣在它完成之前发现.

android google-maps google-geocoding-api google-maps-android-api-2

4
推荐指数
1
解决办法
247
查看次数

如何通过 Google 反向地理编码可靠地查找邮政编码

我需要根据城市和省名称获取具有代表性的加拿大邮政编码。我最初的方法是使用 Google 的地理编码 API 将城市、省份转换为[lat,lng]反向地理编码,以获取匹配的地址,并从中提取邮政编码。城市和省份来自使用 Google 地图自动完成功能的表单,因此我知道它们(至少几乎)始终有效。在一些测试中,这工作得很好,但我很快就在实际数据中遇到了一个失败的案例:曼尼托巴省的雪湖。

https://maps.googleapis.com/maps/api/geocode/json?address=Snow+Lake%2C+Manitoba&key=MYKEY

在几何部分,我得到:

location    
    lat 54.87856679999999
    lng -100.0220321
location_type   "APPROXIMATE"
Run Code Online (Sandbox Code Playgroud)

但每当我查找该位置(包括不同的精度级别)时,我都会得到不包含邮政编码的结果。

https://maps.googleapis.com/maps/api/geocode/json?latlng=54.8785668,-100.0220321&key=MYKEY

我也尝试过从place_id各种事情返回的 ,但没有运气。奇怪的是,如果我在常规 Google 地图网站中搜索马尼托巴省的 Snow Lake,它会精确定位并告诉我邮政编码是 R0B 1M0。那么为什么他们的网站提供了很好的信息,但没有提供 API?即使我将第二个网址中的位置替换为 Google 地图在搜索后的网址中的位置 (54.8808471,-100.0274579),我仍然无法取回邮政编码,如果我使用以下地址也无法取回邮政编码:它给出了该位置(531 Lakeshore Drive)。

通过反复试验(在 Google 地图上查找一些街道名称),我发现搜索 117 Balsam St. 会给出邮政编码和位置,我可以通过反向地理编码来获取邮政编码。但我传入的数据没有街道名称或号码,只有城市和省份,所以这不是解决方案。该地址确实为我提供了 location_type 的 ROOFTOP,而不是我为其他人获得的 APPROXIMATE 或 RANGE_INTERPOLATED。

有人知道这里有什么交易吗?是否有一种可靠的方法可以让我从这个 API 中获取我需要的东西,或者它只是一个偶然的提议?

google-maps google-geocoding-api

4
推荐指数
1
解决办法
5121
查看次数

如何从google maps api获取国家/地区?

我用这个脚本:

var place = autocomplete.getPlace();
latitude = place.geometry.location.lat();
longitude = place.geometry.location.lng();

street_number = place.address_components[0].long_name;
route = place.address_components[1].long_name;
locality = place.address_components[2].long_name;
administrative_area_level_1 = place.address_components[3].long_name;
country = place.address_components[5].long_name;
postal_code = place.address_components[6].long_name;
Run Code Online (Sandbox Code Playgroud)

当用户输入完整地址时,哪个工作正常.但是当用户只在城市或城市中输入时,则国家/地区值不存在.address_components [5]但是就位.address_components [2]:

如何知道哪个字段适合返回数组的索引?

javascript google-maps autocomplete google-maps-api-3

3
推荐指数
1
解决办法
4628
查看次数