Google maps api 3 使用谷歌地图api选择国家/地区内的点

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)以获取国家代码。然后在标记数组上循环并保留所有所需的

我使用谷歌地图API在世界地图上绘制了几个标记

我想点击一个国家,然后删除所有其他标记,只看到这个国家边界内的点。例如,如果我点击巴西,我只想看到巴西境内的标记

我还想在点击该国后获得该国境内各点的lat lngs列表

有人知道我怎么做吗


提前谢谢

如果可以的话,最有效的方法可能是将标记所属国家代码的属性添加到所有标记中

当用户单击地图时,将给定的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);
         }
}
如果无法将国家代码附加到标记属性,则必须使用每个国家的多边形并搜索多边形中的点。 如果是这样的话,这个扩展可能会帮助您:
对于每个国家的多边形,使用这样一个简单的几何体:

请发布到目前为止获得的代码。