【问题标题】:Google maps doesn't know Girne is in Cyprus谷歌地图不知道 Girne 在塞浦路斯
【发布时间】:2017-10-30 18:57:22
【问题描述】:

我正在开发一个 Web 应用程序,该应用程序允许用户在世界上任何公共场所创建活动。我们允许他们以各种方式(包括按国家/地区)搜索活动。我们使用地图 API 来识别创建和搜索事件的地点。

收到一个错误报告,指出 Girne(塞浦路斯北海岸的一座城市)的用户无法正确检索国家/地区。例如,当我搜索纽约市时,我会使用这样的 URL:(识别信息被剥离)

https://maps.googleapis.com/maps/api/geocode/json?client=xxxxxx&result_type=&address=New+York+City&language=en&region=US&location_type=&signature=xxxxxx

我得到的响应包含这个 JSON 信息:

"address_components" : [
        {
           "long_name" : "New York",
           "short_name" : "New York",
           "types" : [ "locality", "political" ]
        },
        {
           "long_name" : "New York",
           "short_name" : "NY",
           "types" : [ "administrative_area_level_1", "political" ]
        },
        {
           "long_name" : "United States",
           "short_name" : "US",
           "types" : [ "country", "political" ]
        }
     ],

但是,如果我对 Girne 提出类似的请求:

https://maps.googleapis.com/maps/api/geocode/json?client=xxxxxx&result_type=&address=Girne&language=en&region=US&location_type=&signature=xxxxxx

同一字段仅包含以下内容:

"address_components" : [
            {
               "long_name" : "Girne",
               "short_name" : "Girne",
               "types" : [ "locality", "political" ]
            }
         ],

这是地图中数据的错误吗?看起来当我在 maps.google.com 中搜索 Girne 或 Girne 的任何特定地址时,它找到了一个位置,但也未能将国家识别为塞浦路斯。

【问题讨论】:

标签: json google-maps google-maps-api-3


【解决方案1】:

我们自己解决了这个问题,但链接的问题是正确的。北塞浦路斯是一个有争议的领土,从法律上讲,如果这样做实际上是一种政治声明,我们不应该显示国名。我们发现这些地点最近作为缺少国家/地区的活动地点输入到我们的数据库中:

  • Afytos:靠近希腊
  • Ari'el - 约旦河西岸的一部分,靠近耶路撒冷
  • 吉恩;皮拉 - 在塞浦路斯岛上
  • 新加坡的某个地方
  • 伊斯托格 - 塞尔维亚
  • 刻赤 / 刻赤' - 克里米亚

所以,我学到了一些有关全球政治的有趣知识,而且我们现在在搜索选项中添加了一个“其他”国家/地区。

【讨论】:

    猜你喜欢
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    相关资源
    最近更新 更多