2015-12-06 3 views
0

Я создал веб-сайт, на котором показаны разные местоположения для каждого пользователя. Эти местоположения идентифицируются по их почтовым индексам, которые я ранее добавлял в базу данных. Однако я хотел бы добавить карту Google с маркерами в этих местах. Мой план заключается в том, когда пользователь нажимает на данные конкретного местоположения, появится карта с маркером. Поэтому я использовал коды для карты Google, проблема в том, что я должен был указать lat &, чтобы получить маркер. Мне нужен код, который будет динамически получать эти почтовые индексы и маркер для каждого из них.
Примечание: Я использовал этот код для получения карты.Google Map Marker

<script> 
var myCenter=new google.maps.LatLng(51.508742,-0.120850); //I don't want this value fixed 
var marker; 

function initialize() 
{ 
var mapProp = { 
    center:myCenter, 
    zoom:5, 
    mapTypeId:google.maps.MapTypeId.ROADMAP 
    }; 

var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); 

var marker=new google.maps.Marker({ 
    position:myCenter, 
    animation:google.maps.Animation.BOUNCE 
    }); 

marker.setMap(map); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

И это было использовано в view.aspx для отображения почтовых индексов из базы данных:

<%: Html.DisplayFor(modelItem => item.PostCode) %> 

ответ

1

Вы должны использовать API поиска, чтобы получить лат и LNG из почтового кода:

1) Добавить этот скрипт заголовок:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 

2) Используйте эту функцию JavaScript, чтобы получить латы, LNG по почтовому индексу:

function GetLocation() { 
      var geocoder = new google.maps.Geocoder(); 
      var address = document.getElementById("txtAddress").value; 
      geocoder.geocode({ 'address': address }, function (results, status) { 
       if (status == google.maps.GeocoderStatus.OK) { 
        var latitude = results[0].geometry.location.lat(); 
        var longitude = results[0].geometry.location.lng(); 
        alert("Latitude: " + latitude + "\nLongitude: " + longitude); 
       } else { 
        alert("Request failed.") 
       } 
      }); 
     }; 

3) Затем вы можете использовать свой код, чтобы пройти лат и LNG значения