我创建了以下在JS中显示和寻址的函数:
function showMapForm(idDiv, divWidth, divHeight, idLat, idLng) {
document.getElementById(idDiv).style.width = divWidth+'px';
document.getElementById(idDiv).style.height = divHeight+'px';
if (document.getElementById(idLat).value=='' && document.getElementById(idLng).value=='') {
//Paris
iniLat = 48.85455;
iniLng = 2.358627;
} else {
iniLat = document.getElementById(idLat).value;
iniLng = document.getElementById(idLng).value;
}
var latlng = new google.maps.LatLng(iniLat, iniLng);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById(idDiv), myOptions);
marker = new google.maps.Marker({
position: new google.maps.LatLng(iniLat, iniLng),
map: map
});
google.maps.event.addListener(map, 'click', function(eve) {
marker.setPosition(eve.latLng);
document.getElementById(idLat).value = marker.getPosition().lat();
document.getElementById(idLng).value = marker.getPosition().lng();
});
}
你可以看到它需要一个div的id,所需的宽度和高度以及我存储纬度和经度的隐藏字段的id,如果这些值不存在,它将使用纬度和经度巴黎。 我想要做的是改进这个功能,这样它就可以接受一个字符串值,地址如“Saint Joseph Street No. 45,Paris”,如果找到地址就放一个标记。
我的问题是:你知道是否有办法使用google maps API从搜索字符串中获取经度和纬度? (第一次出现就会这样做)