Используйте адрес, а не широту и длину
Я строю карту, которая заполняет его местоположение на основе адреса страниц, который изменяется для каждого списка. У меня нет обратного геокодера, но мне было интересно, есть ли способ добавить только адрес? если нет, то как я могу изменить геокодирование моего адреса? Я не очень понимаю страницы API в Google, не разбираюсь в подобных вещах.
Вот моя кодировка:
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyBEbIFpr3iySjmSuJz4mwEomIaXnsA8OdQ&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center: new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
disableDefaultUI:true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="googleMap" style="width:100%;height:100px;"></div>
1 ответ
Решение
Вы должны использовать геокодер, чтобы получить широту и долготу места.
Вы могли бы сделать что-то вроде этого:
var geocoder;
var map;
function initialize()
{
geocoder = new google.maps.Geocoder();
var mapProp = {
center: new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
disableDefaultUI:true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
geocoder.geocode({ 'address': 'London' }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
// To add a marker:
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
Всю информацию можно найти по https://developers.google.com/maps/documentation/javascript/geocoding