Горячий, чтобы получить карту Google от лат и lng? - PullRequest
0 голосов
/ 14 марта 2012

Я знаю, что с помощью gmap v3 я могу указать центр, добавить указатель и указать содержимое информационного блока, и таким образом я могу получить свою карту, которая будет сгенерирована.

но я хочу знать, можно ли напрямую просто указать широту и долготу и напрямую сгенерировать мою карту, и какой бы адрес в этом месте не находился, он будет непосредственно указан в информационном окне. Есть ли способ сделать это напрямую?

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Я думаю, вам все еще придется создать новую карту, прежде чем вы сможете определить центр, информационные поля, кнопки и т. Д. Тем не менее, JavaScript для этого составляет около 10 строк, так что это не так уж много, и вы могли быконечно, поместите это в метод, если вы будете вызывать его много раз.Таким образом, у вас будет эффективный метод, который вы предоставите lon, lat to (возможно, a на странице также для рендеринга карты), а затем вы установите карту.

Для центрирования карты на данном lonЛат, вы можете предоставить карту со следующей опцией: -

center = new google.maps.LatLng(myLat, myLon)
0 голосов
/ 14 марта 2012

Если вы генерируете координаты, используя файл или базу данных, используйте скрипт php для отправки запроса Ajax в следующий файл javascript mapData.js. Я рекомендую отправить объект jSON с именем mapData, который содержит координаты [lat, long], следующим образом.

    google.load('visualization', '1', {'packages': ['map']});

  jQuery(document).ready(function($){
     $.getJSON("mapData.php", function(result)
   {
           var mapData=result;

     var dataTable1=new google.visualization.DataTable();
     dataTable1.addRows(mapData.length);

     dataTable1.addColumn('number', 'LATITUDE', 'Latitude');
     dataTable1.addColumn('number', 'LONGITUDE', 'Longitude');

      for(var i=0;i<mapData.length;i++) 
      {
        var coord=mapData[i]

        dataTable1.setValue(i, 0, parseFloat(coord[0]));
        dataTable1.setValue(i, 1, parseFloat(coord[1]));
     }

     var map=new google.visualization.Map(document.getElementById("Map1"));
         map.draw(dataTable1, {showTip: true, useMapTypeControl:true, enableScrollWheel:true, zoomLevel:19});   

   });   
 });

В вашем html сделайте следующее

    <head>
    <script src="https://apis.google.com/js/client.js"></script>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script src="jQuery.js" type="text/javascript" ></script>
    <script src="mapData.js" type="text/javascript"></script>
 </head>

<body>

    <div  id="Map1">


    </div>  
</body>

Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...