Google API V3 и инструкции (Javascript)

#javascript #google-maps #directions

#javascript #google-карты #инструкции

Вопрос:

Прежде всего, я надеюсь, что у вас все в порядке.

В настоящее время я работаю над своим заданием, и мне нужно выполнить эти:

  • Показывать карту с 1 маркером, если пользователь вышел из системы
  • Показывать карту с маршрутом, если пользователь вошел в систему

Мне удалось сделать оба, однако они работают только по отдельности .. через некоторое время я узнал, что причиной было следующее:

 <script src="http://maps.google.com/maps?file=apiamp;amp;v=2amp;ampamp;key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA"
        type="text/javascript"></script>  
       <script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false" /> 
  

Очевидно, я не могу использовать их оба вместе >.< итак, мой вопрос в том .. Есть ли способ обойти это, пожалуйста?

Ниже приведен код JavaScript, который я вызываю из code behind через ASP.NET поскольку я получаю значения из своей базы данных. По сути, они создают мои карты.

 <script type="text/javascript">    
var map;
var directionsPanel;
var directions;

function initialize(lng, lat) {
var latlng = new google.maps.LatLng(lng, lat);
var myOptions = {
  zoom: 15,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);
var marker = new google.maps.Marker({position: new google.maps.LatLng(lng, lat), map:map});}

  function setRoute(log, lat, from, to) {
  map = new GMap2(document.getElementById("map_canvas"));
  map.setCenter(new GLatLng(log, lat), 15);
 directionsPanel = document.getElementById("route");
  directions = new GDirections(map, directionsPanel);
  directions.load("from: "   from   " to: "   to);
}
</script>
  

Извините меня, если мой код «не настолько хорош» или для него был лучший подход. На самом деле я впервые работаю с JavaScript.

Спасибо, что уделили мне время 🙂

Ответ №1:

Вы загружаете две разные версии Maps API — V2 и V3. Вы должны использовать только один; я рекомендую V3, поскольку V2 устарел.

V3 — последний из двух, на которые вы ссылаетесь: <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

После этого проверьте ссылку на V3 на http://code.google.com/apis/maps/documentation/javascript/basics.html

Комментарии:

1. Также обратите внимание, что если вы не укажете номер версии, вы будете использовать последнюю сборку, которая не рекомендуется для производства. Для живых сайтов следует использовать последнюю «замороженную» сборку (в настоящее время 3.2). code.google.com/apis/maps/documentation/javascript /…

Ответ №2:

Именно то, что сказал Кай.

Однако имейте в виду, что при обновлении до версии V3 вам, скорее всего, придется изменить некоторые из ваших вызовов. Например: new GMap2(document.getElementById("map_canvas")); отсутствует в API v3.

Чтобы выполнить наименьший объем работы, вы можете выяснить, что использует v3, а что — v2. Затем просто перейдите к тому, в котором меньше всего изменений. Но я также рекомендую перейти на версию v3, если у вас есть время / ресурсы.