[英]Google Map Geocoding API on load
我正在尝试调整在https://developers.google.com/maps/documentation/javascript/geocoding上找到的示例Google地图代码,以便对加载页面时的地址进行地理编码。 因此,不再需要任何固定坐标(已经从我的视图文件中加载),并且无需人为干预即可进行地理编码
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var mapOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}
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);
}
});
}
谢谢你的帮助。
不知道您在这里问什么。 如果您希望在页面显示时对地址进行地理编码,则#address
元素中将需要一个值:
<input type="text" id="address" value="1600 Pennsylvania Ave NW Washington, DC 20500">
...然后您只需在window.onload
函数中调用initialize()
和geocode()
函数:
window.onload = function() {
initialize();
codeAddress();
}
这是一个jsFiddle演示: http : //jsfiddle.net/fYbqe/
编辑更新了jsFiddle,这使使用自定义地址更加容易: http : //jsfiddle.net/fYbqe/1/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.