Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps api 3 我能知道坐标是否在城市内部吗?_Google Maps Api 3 - Fatal编程技术网

Google maps api 3 我能知道坐标是否在城市内部吗?

Google maps api 3 我能知道坐标是否在城市内部吗?,google-maps-api-3,Google Maps Api 3,假设我有一个LatLng对象,有没有办法检查它是否代表一个城市中的一个可能位置?我怎样才能知道一个城市的界限? 我正在使用谷歌地图V3。城市边界和其他城市不断被重新绘制。有一些服务可以帮助你找到它们,但我不能肯定谷歌是否在谷歌地图的数据中保留了城市限制的记录这是谷歌小组讨论的话题。来自该站点的代码片段: 取决于你在世界上的位置、城市界限和其他 行政界限不断变化,甚至 有时地方政府很难保持数据的最新性 因为兼并和其他变化。此外,“城市”可能是 相对较小或上海大小的东西。而且,不同 国家有时也会有相

假设我有一个LatLng对象,有没有办法检查它是否代表一个城市中的一个可能位置?我怎样才能知道一个城市的界限?
我正在使用谷歌地图V3。

城市边界和其他城市不断被重新绘制。有一些服务可以帮助你找到它们,但我不能肯定谷歌是否在谷歌地图的数据中保留了城市限制的记录这是谷歌小组讨论的话题。来自该站点的代码片段:

取决于你在世界上的位置、城市界限和其他 行政界限不断变化,甚至 有时地方政府很难保持数据的最新性 因为兼并和其他变化。此外,“城市”可能是 相对较小或上海大小的东西。而且,不同 国家有时也会有相互冲突的定义 行政单位是实际的定义——一个很好的例子是 中国也许你最好的方法是从本地数据库获取数据 政府或数据供应商,并建立自己的


你试过反向地理编码吗

你可以检查格式化的地址,看看这个城市是否符合你要找的。我不确定这对您的应用程序有多准确,但这是一个选项

函数codeLatLng(){
var geocoder=new google.maps.geocoder(),
latlng=新的google.maps.latlng(40.730885,-73.997383);
geocoder.geocode({'latLng':latLng},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
如果(结果[1]){
console.log(结果[1]);
console.log(结果[1]。格式化的\u地址);
}
}否则{
警报(“地理编码器因“+状态”而失败);
}
});
}

您可以在Google Geocoder API中使用反向地理编码,并检查返回结果的
位置
条目,可能还有
子位置
条目


注意,如果你在世界各地都有地址,想知道“这个LatLng在哪个城市?”这可能不太好用。另一方面,如果你想知道“这个LatLng在芝加哥吗?”世界上有些地区的数据相当完整和合理,以及它不完整和/或以您可能不期望的方式组织的区域。(很明显,英国使用的“县”和“州”与美国非常不同。即使我错了,你也明白了。)

看看这些网站:我最后做了类似的事情。谢谢