Google Maps API簡(jiǎn)易教程(二)
一、Google Map Event
單擊一下Marker,就會(huì)觸發(fā)click事件。拖曳當(dāng)前地圖,將會(huì)觸發(fā)center_changed事件。而google.maps.addListener監(jiān)聽(tīng)地圖上每一個(gè)動(dòng)作,
相應(yīng)的事件處理代碼由用戶編寫。一下舉幾個(gè)例子,以加深理解。
(1)單擊Marker改變Zoom
如上圖所示,單擊London上的Marker,當(dāng)前的地圖的Zoom改變,相應(yīng)的代碼如下:
- // Zoom to 9 when clicking on marker
- google.maps.event.addListener(marker,'click',function() {
- map.setZoom(9);
- map.setCenter(marker.getPosition());
- });
(2)Pan返回Marker
在本例中,單擊地圖左上角的pan的一個(gè)角,地圖的中心發(fā)生了改變,3秒后又返回到原來(lái)的中心,這將會(huì)觸發(fā)center_changed事件。相應(yīng)的代碼如下:
- google.maps.event.addListener(map,'center_changed',function() {
- window.setTimeout(function() {
- map.panTo(marker.getPosition());
- },3000);
- });
(3)單擊Marker顯示InfoWindow
如上圖,單擊Marker,顯示一個(gè)含有Hello world 字符的InfoWindow,相關(guān)代碼如下:
- var infowindow = new google.maps.InfoWindow({
- content:"Hello World!"
- });
- google.maps.event.addListener(marker, 'click', function() {
- infowindow.open(map,marker);
- });
(4)設(shè)置Markers,并為每一個(gè)Marker打開一個(gè)InfoWindow
相關(guān)代碼如下:
- google.maps.event.addListener(map, 'click', function(event) {
- placeMarker(event.latLng);
- });
- nction placeMarker(location) {
- var marker = new google.maps.Marker({
- position: location,
- map: map,
- });
- var infowindow = new google.maps.InfoWindow({
- content: 'Latitude: ' + location.lat() +
- '<br>Longitude: ' + location.lng()
- });
- infowindow.open(map,marker);
以上只是幾個(gè)Event處理的簡(jiǎn)單應(yīng)用,還有其他的常見(jiàn)事件,比如MapsEventListener,MouseEvent等等,在這里不再細(xì)講。如果有興趣的話,請(qǐng)查閱相關(guān)文檔。
原文鏈接:http://www.cnblogs.com/williamcai/archive/2013/03/01/2937933.html