我试图让用户标记他们的位置,我使用下面的代码来获取用户的邮政编码并放大他们的社区,但我不知道如何获得标记坐标。
我见过一些使用actionlistener的例子,比如下面这个,但是它不起作用。
google.maps.event.addListener(
marker,
'drag',
function() {
document.getElementById('lat').value = marker.position.lat();
document.getElementById('lng').value = marker.position.lng();
}
);
var localSearch;
var map;
var icon;
var addressMarkerOptions;
google.load("search", "1");
google.load("maps", "2");
google.setOnLoadCallback(initialize);
function initialize()
{
localSearch = new GlocalSearch();
icon = new GIcon(G_DEFAULT_ICON);
addressMarkerOptions = { icon:icon , map: map ,draggable: true};
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
plotAddress("M13 0JN");
}
/**
* This takes either a postcode or an address string
*
*/
function plotAddress(address)
{
localSearch.setSearchCompleteCallback(null,
function() {
if (localSearch.results[0])
{
var resultLat = localSearch.results[0].lat;
var resultLng = localSearch.results[0].lng;
var point = new GLatLng(resultLat,resultLng);
var marker = new GMarker(point, addressMarkerOptions);
map.addOverlay(marker);
map.setCenter(point, 15, G_NORMAL_MAP);
}
else
{
alert('address not found');
}
});
localSearch.execute(address + ", UK");
}
document.getElementById('lat').value = marker.getLatLng().lat();
document.getElementById('lng').value = marker.getLatLng().lng();
一个优秀的教程将向您展示如何做到这一点(以及更多)是张贴在这里…
参见步骤8添加标记。
顺便说一句,你正在使用旧版本/现在已弃用的谷歌地图API…