2014-03-28 222 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

谢谢!像魅力一样工作!不敢相信我没有看到那个! –