谷歌地图:输入某些国家的坐标时出错

Posted

技术标签:

【中文标题】谷歌地图:输入某些国家的坐标时出错【英文标题】:Google maps : Error when typing in coordinates of certain countries 【发布时间】:2015-11-18 06:56:01 【问题描述】:

我正在google map 上绘制路线,并刚刚意识到一切正常,除了我发送韩国某处的坐标。(准确地说是南方)

JSON 数据是 null,即使坐标正确并保持“零结果”。

我尝试过非洲、澳大利亚、欧洲甚至中国和日本,但在韩国的任何地方都行不通。

我在这里错过了什么吗..?

编辑

所以我猜不只是韩国蒙古和印度尼西亚是相同的,他们的地理编码不能与航路点一起使用来获取路线。

韩国和德国的比较结果 -

韩国

"geocoded_waypoints" : [
  
     "geocoder_status" : "OK",
     "place_id" : "ChIJzWXFYYuifDUR64Pq5LTtioU",
     "types" : [ "locality", "political" ]
  ,
  
     "geocoder_status" : "OK",
     "place_id" : "ChIJNc0j6G3raDURpwhxJHTL2DU",
     "types" : [ "locality", "political" ]
  ],"routes" : [],"status" : "ZERO_RESULTS"

德国

"geocoded_waypoints" : [
  
     "geocoder_status" : "OK",
     "place_id" : "ChIJAVkDPzdOqEcRcDteW0YgIQQ",
     "types" : [ "locality", "political" ],
  
     "geocoder_status" : "OK",
     "place_id" : "ChIJ2V-Mo_l1nkcRfZixfUq4DAE",
     "types" : [ "locality", "political" ]],"routes" : [
  
     "bounds" : 
        "northeast" : 
           "lat" : 52.5200138,
           "lng" : 13.404945
        ,
        "southwest" : 
           "lat" : 48.1351972,
           "lng" : 11.1954806
        
     ,
     "copyrights" : "Datos de mapas ©2015 GeoBasis-DE/BKG (©2009), Google",
     "legs" : [
        
           "distance" : 
              "text" : "585 km",
              "value" : 584740
           ,

等等等等。如您所见,您获得了带有德国坐标的完整数据。

编辑

好的..CLLocationManager 做同样的事情...我应该如何获得这些国家的地址??

【问题讨论】:

你能澄清一下你通常会得到/期待什么结果吗? 我发送起点/终点的纬度/经度,然后在两点之间绘制路线。它适用于大多数国家,但不适用于少数国家,我不完全确定这是否就是这样,这意味着他们只是有严格的限制,我就是做不到,或者我做错了什么。 您在其他国家获得的哪些数据正是您在韩国或蒙古没有获得的? 我得到空的 JSON 数据,状态 = 零结果。大多数国家都不会发生这种情况。但是那些不起作用的,无论在哪个国家/地区,都永远不会起作用。 显然,韩国对在互联网上使用地图施加了几项限制: > 谷歌正在向韩国施压以放宽规定 > 公司无法通过 > 谷歌地图 > 提供行车路线 > The Verge theverge.com/tech/2013/10/13/4835026/… 更多详情:nytimes.com/2013/10/14/business/international/… []'s 【参考方案1】:

- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position

    CLLocation *pinLocation =[[CLLocation alloc] initWithLatitude:position.target.latitude  longitude:position.target.longitude];

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:pinLocation
               completionHandler:^(NSArray *placemarks, NSError *error)
 
     if (error)
     
         return;
     
     CLPlacemark *placemark = [placemarks objectAtIndex:0];
     NSLog(@"address-->%@",placemark.addressDictionary);

];

【讨论】:

以上是关于谷歌地图:输入某些国家的坐标时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何从谷歌地图的经纬度坐标中获取城市名称?

谷歌卫星地图影像怎么投影转换为西安80坐标?

谷歌地图 API 获取 GPS 坐标

GWS84坐标、google坐标转百度地图坐标(单点转换)

当位置返回多个结果时,在谷歌地图中选择第一个匹配静态

谷歌地图自动完成:只输出地址,没有国家和城市