Google API V3 и направления (Javascript) - PullRequest
0 голосов
/ 15 апреля 2011

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

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

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

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

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

По-видимому, я не могу иметь их обоих вместе>. <поэтому мой вопрос ... Есть ли способ обойти это, пожалуйста? </p>

Ниже приведен JavaScriptкод, который я вызываю из кода через 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.

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

Ответы [ 2 ]

3 голосов
/ 15 апреля 2011

Вы загружаете две разные версии 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 голос
/ 15 апреля 2011

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

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

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

...