Javascript 单击按钮时移动谷歌地图标记

Javascript 单击按钮时移动谷歌地图标记,javascript,google-maps,Javascript,Google Maps,我花了很多时间来解决这个问题,但不知道该如何工作,所以我的基础是: <script> function initialize() { var mapOptions = { center: new google.maps.LatLng("43.2697,26.9165"), zoom: 8 }; var map = new google.maps.Map(document.getElementById("map

我花了很多时间来解决这个问题,但不知道该如何工作,所以我的基础是:

<script>
 function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng("43.2697,26.9165"),
          zoom: 8  };
        var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
        var marker=new google.maps.LatLng("43.2697,26.9165");
        var main=new google.maps.Marker({position:marker});
        main.setMap(map); 
      }  


        function moveMarker(lat,lng) {
           var latlng = new google.maps.LatLng(parseFloat(lat), parseFloat(lng)); 
        //???????
            }


    google.maps.event.addDomListener(window, 'load', initialize);
</script>

函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(“43.2697,26.9165”),
缩放:8};
var map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
var marker=new google.maps.LatLng(“43.2697,26.9165”);
var main=new google.maps.Marker({position:Marker});
main.setMap(map);
}  
功能移动标记器(lat、lng){
var latlng=新的google.maps.latlng(parseFloat(lat),parseFloat(lng));
//???????
}
google.maps.event.addDomListener(窗口“加载”,初始化);
现在-在HTML中,我有一个按钮和两个文本字段。当按钮被点击时,它启动移动标记功能并传递新的纬度和经度-在字段中输入。目标是标记必须移动到新位置,并且地图必须居中-相应地。我尝试了很多提示,但是-无法访问marker对象(在我的示例中为名称Main)以将其移动到新位置。

您的标记(“Main”)是初始化文件的本地标记。要从HTML单击事件访问它,它需要在全局范围内

<script>
var main = null;
function initialize() {
    var mapOptions = {
          center: new google.maps.LatLng("43.2697,26.9165"),
          zoom: 8  };
    var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
    var marker=new google.maps.LatLng("43.2697,26.9165");
    main=new google.maps.Marker({position:marker});
    main.setMap(map); 
}  


function moveMarker(lat,lng) {
  var latlng = new google.maps.LatLng(parseFloat(lat), parseFloat(lng)); 
  main.setPosition(latlng);
}


google.maps.event.addDomListener(window, 'load', initialize);
</script>

var main=null;
函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(“43.2697,26.9165”),
缩放:8};
var map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
var marker=new google.maps.LatLng(“43.2697,26.9165”);
main=newgoogle.maps.Marker({position:Marker});
main.setMap(map);
}  
功能移动标记器(lat、lng){
var latlng=新的google.maps.latlng(parseFloat(lat),parseFloat(lng));
主设置位置(车床);
}
google.maps.event.addDomListener(窗口“加载”,初始化);

谢谢,但尝试您的建议后,会出现错误:TypeError:main为空对不起-上面输入错误。我的意思是:出现错误消息:对不起,我的答案有误(我没有删除main前面的“var”,你的名字把我弄糊涂了)。是的,你完全正确。它是有效的,这里的命名非常混乱,但它与另一个上下文相关联。所以,非常感谢:)