Google maps api 3 使用谷歌地图api选择国家/地区内的点
我使用谷歌地图API在世界地图上绘制了几个标记 我想点击一个国家,然后删除所有其他标记,只看到这个国家边界内的点。例如,如果我点击巴西,我只想看到巴西境内的标记 我还想在点击该国后获得该国境内各点的lat lngs列表 有人知道我怎么做吗Google maps api 3 使用谷歌地图api选择国家/地区内的点,google-maps-api-3,geolocation,country,Google Maps Api 3,Geolocation,Country,我使用谷歌地图API在世界地图上绘制了几个标记 我想点击一个国家,然后删除所有其他标记,只看到这个国家边界内的点。例如,如果我点击巴西,我只想看到巴西境内的标记 我还想在点击该国后获得该国境内各点的lat lngs列表 有人知道我怎么做吗 提前谢谢 如果可以的话,最有效的方法可能是将标记所属国家代码的属性添加到所有标记中 当用户单击地图时,将给定的lat/long传递给Geoname webservice(例如,您也可以使用谷歌地理编码API)以获取国家代码。然后在标记数组上循环并保留所有所需的
提前谢谢 如果可以的话,最有效的方法可能是将标记所属国家代码的属性添加到所有标记中 当用户单击地图时,将给定的lat/long传递给Geoname webservice(例如,您也可以使用谷歌地理编码API)以获取国家代码。然后在标记数组上循环并保留所有所需的标记 要通过单击获取lat long并从Geoname获取国家代码,请执行以下操作:
google.maps.event.addListener(map, 'click', function( event ){
getCountryCode(event.latLng.lat(),event.latLng.lng());
});
function getCountryCode(latitude, longitude) {
$.getJSON('http://ws.geonames.org/countryCode', {
lat: latitude,
lng: longitude,
type: 'JSON'
}, function(result) {
console.log(result.countryCode);
}
}
如果无法将国家代码附加到标记属性,则必须使用每个国家的多边形并搜索多边形中的点。
如果是这样的话,这个扩展可能会帮助您:
对于每个国家的多边形,使用这样一个简单的几何体:请发布到目前为止获得的代码。