我想通过文本字段值(地址)更新标记位置并且我得到了功能
<script type="text/javascript">
var mapa;
var marker;
function initialize() {
if (GBrowserIsCompatible()) {
mapa = new GMap2(document.getElementById("mapa"));
mapa.addControl(new GLargeMapControl());
mapa.addControl(new GMapTypeControl());
mapa.addControl(new GOverviewMapControl(new GSize(140,110)));
var center = new GLatLng({/literal}{if $mapa.lat ne "" && $mapa.lat ne "a"}{$mapa.lat}{else}51.919438{/if}, {if $mapa.lng ne "" && $mapa.lng ne "a"}{$mapa.lng}{else}19.145136{/if});
mapa.setCenter(center, {if $mapa.zoom ne "" && $mapa.zoom ne "a"}{$mapa.zoom}{else}6{/if}{literal});
marker = new GMarker(center, { draggable: true});
GEvent.addListener(marker, "dragstart", function() {
mapa.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
document.getElementById('lat').value = marker.getPoint().lat();
document.getElementById('lng').value = marker.getPoint().lng();
document.getElementById('zoom').value = mapa.getZoom();
});
mapa.addOverlay(marker);
}
}
function getLocation() {
var geocoder = new GClientGeocoder();
address = document.getElementById("location").value;
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " nie znaleziony");
} else {
alert(point);
mapa.setCenter(point, 13);
marker.setMap(mapa);
marker.setPosition(point);
// mapa.addOverlay(marker);
}
}
);
}
</script>
我不知道为什么标记没有移动,甚至没有添加另一个。一个保持在第一位置,但地图在类型地址上发生变化