我在我的网站上使用Google Maps api v.3。我想要实现的是以下流程:
我停下来的是将地址转换为地图。据我了解v3 API,我应该用LatLng中心位置初始化地图 - 但是有一个城市名称或者我还不能做到。我需要在文本地址和坐标之间进行某种翻译 - 例如,当我搜索“Beverly Hills”时谷歌地图正在做什么。我觉得有些逆转?我应该如何在JavaScript API中执行此操作?
或者是否可以在v3嵌入式地图中包含搜索栏?
答案 0 :(得分:2)
您需要使用geocode
类似下面的内容
从http://code.google.com/apis/maps/documentation/javascript/geocoding.html
复制
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
然后您需要在按钮上点击<{1}}功能
答案 1 :(得分:2)
您可以使用Google Maps v3 Geocoding API将地址转换为纬度/经度对。在此之后,您可以使用该数据初始化地图。