0

我想通过文本字段值(地址)更新标记位置并且我得到了功能

<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>

我不知道为什么标记没有移动,甚至没有添加另一个。一个保持在第一位置,但地图在类型地址上发生变化

4

0 回答 0