2014-03-28 169 views
0

我想修改一個現有的主題的js能夠顯示在地圖上的不同位置。 這裏是原代碼:谷歌地圖設置新的標記位置和平移到

function initialize() { 
    var map; 
    var brooklyn = new google.maps.LatLng(parseFloat("<?php echo $coordinates[0]; ?>"), parseFloat("<?php echo $coordinates[1]; ?>")); 
    var stylez = [{ 
     featureType: "all", 
     elementType: "all", 
     stylers: [{ 
       saturation: -100 
      } // <-- THIS 
     ] 
    }]; 

    var mapOptions = { 
     zoom: parseInt("<?php the_field("google_map_zoom_level"); ?>"), 
     center: brooklyn, 
     mapTypeControlOptions: { 
      mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'tehgrayz'] 
     } 
    }; 

    map = new google.maps.Map(document.getElementById("map"), mapOptions); 

    var mapType = new google.maps.StyledMapType(stylez, { 
     name: "Grayscale" 
    }); 
    map.mapTypes.set('tehgrayz', mapType); 
    map.setMapTypeId('tehgrayz'); 
    marker = new google.maps.Marker({ 
     title: "<?php echo $map[" 
     address "]; ?>", 
     position: new google.maps.LatLng(parseFloat("<?php echo $coordinates[0]; ?>"), parseFloat("<?php echo $coordinates[1]; ?>")), 
     map: map 
    }); 
} 
initialize(); 
//google.maps.event.addDomListener(window, 'load', initialize); 
} 

我也設法利用各種教程創建移動Marker到新位置的功能。

function changeMarkerPos(lat, lon){ 
    myLatLng = new google.maps.LatLng(lat, lon); 
    marker.setPosition(myLatLng); 
    map.panTo(myLatLng); 
} 

但是,雖然標記確實移動,但地圖不居中,就像我想的那樣。誰能幫我嗎?我對js不太好,所以請保持簡單......

謝謝!

回答

2

您需要全局聲明地圖變量。 changeMarkerPos函數目前不能使用它。

var map; 
function initialize() { 
    var brooklyn = new googl............ 

編輯 - 下面這段時間不會有什麼區別。 setCenter()是有用的,但不是你的問題的答案。

我本週早些時候做了類似的事情,並使用map.setCenter(); 「VAR地圖;」

function changeMarkerPos(lat, lon){ 
    myLatLng = new google.maps.LatLng(lat, lon); 
    marker.setPosition(myLatLng); 
    map.panTo(myLatLng); 
    map.setCenter(myLatLng);  
} 
+0

Nope..still nothing..marker移動,地圖不....花了2小時這方面的工作,到目前爲止... –

+0

...移動你:這個是什麼可變的初始化函數,並像我的jsfiddle一樣在全局聲明它:http://jsfiddle.net/n34_panda/cc2V3/看看是否可行。標記爲回答如果它請 –

+0

謝謝!像魅力一樣工作!不敢相信我沒有看到那個! –