Google地图API console.log(stateClicked)

问题描述:

在地图API中丢失...Google地图API console.log(stateClicked)

我需要能够与美国现有的Google地图进行互动。当一个状态被点击时,我想将它的状态名称传递给一个函数,该函数根据实际点击的状态执行一些动态的东西(显示或隐藏属于该点击区域的属性)。我读了几个相关的帖子,然后搜寻了其他地方,然而我却空手而归。希望有人能帮助!对不起,我没有任何代码可以关闭这个...

+1

您的意思是这样的? http://www.geocodezip.com/v3_GoogleEx_layer-kml_us_states_simple.html – geocodezip 2014-09-22 18:49:43

+0

是的,就像那样,谢谢! – NicholasAbrams 2014-09-22 19:08:54

+0

我是否需要使用KML才能获取所点击的州的名称?我可以只用JS来拉取点击区域的名称吗? – NicholasAbrams 2014-09-22 19:16:29

有2个选项可以解决您的问题。

  1. 使用KML。 为此,请为美国各州申请KML。我猜你已经看过了。

  2. 使用鼠标事件,并得到纬度和经度

我希望下面的代码可以帮助你:

var geocoder; 
geocoder = new google.maps.Geocoder(); 

google.maps.event.addListener(map,'click', function(evt) { 
    var lat = evt.latLng.lat(); 
    var lng = evt.latLng.lng(); 
    var latlng = new google.maps.LatLng(lat, lng); 
    geocoder.geocode({'latLng': latlng}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
    if (results[1]) { 
     console.log(results[1].formatted_address); //THIS IS YOUR RESULT!!!! 
    } else { 
     alert('No results found'); 
    } 
    } else { 
    alert('Geocoder failed due to: ' + status); 
    } 
    }); 

} 

你得到的实际响应是这样的: https://developers.google.com/maps/documentation/geocoding/#GeocodingResponses 你可以从这里找到所有必要的细节,例如你的情况。

如果您有任何疑问,请拍摄。 Regards, Suyash