javascript - Google map 上的文本框值更改更新标记

标签 javascript google-maps google-maps-api-3 accordion

我有使用 Google map API v3 的 Google map 。 我拥有的是 Accordion 式的 Google map ,用户可以单击并放置一个标记,并将纬度和经度值填充到顶部的两个文本框。

这部分与下面的脚本配合得很好。 但我现在想要的是,如果用户更改文本框标记中的纬度或经度值,则需要相应地更改文本框,因为文本框填充了纬度和经度。

var map = null;
function initialize() {
var myLatlng = new google.maps.LatLng(25.263327,55.329895);
    var myOptions = {
        zoom: 10,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
        }
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var marker;

function placeMarker(location) {
    if ( marker ) {
        marker.setPosition(location);
    } else {
        marker = new google.maps.Marker({
        position: location,
        map: map
        });
        }
    }

google.maps.event.addListener(map, 'click', function(event) {
    placeMarker(event.latLng);
    document.getElementById("latFld").value = event.latLng.lat();
    document.getElementById("lngFld").value = event.latLng.lng();
});


  }

$(document).ready(function() {

$("#accordion").bind('accordionchange', function(event, ui) {
    if (ui.newContent.attr('id') == 'tabThree' && !map)
    {
        map = initialize();
    }
    });
    });

最佳答案

像这样的东西可能会起作用:

function updatePosition(){
    var lat = parseFloat(document.getElementById("latFld").value);
    var lon = parseFloat(document.getElementById("lngFld").value);
    if (lat && lon) {
        var newPosition = new google.maps.LatLng(lat,lon);
        placeMarker(newPosition);
    }
}

...以及您的 HTML

<input id ='latFld' onkeyup='updatePosition()'>
<input id ='latFld' onkeyup='updatePosition()'>

您可能想要使用 onchange 而不是 onkeyup 以使其不那么过度活跃。 :-)

关于javascript - Google map 上的文本框值更改更新标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11342052/

相关文章:

javascript - Angular JS 和外部库

javascript - 有没有办法在 JavaScript 中测试多个整数(如 "correct")以使整个函数正确通过?

android - 删除以前的路线并添加新路线

javascript - 是否可以使用多张图片作为 Google Maps v3 MarkerImage?

javascript - 谷歌地图未在 chrome 中显示

api - 如何从谷歌地图获取区域/地区多边形边界数据?

Javascript Canvas 仅将图像绘制到缓冲区

javascript - 使用 Ajax 发送数据

java - 在框架布局中显示 map fragment

javascript - 如何使用 iframe 在选项卡中居中我的 Google map 标记