Google API V3和路线(Javascript)

时间:2011-04-15 15:03:34

标签: javascript google-maps directions

首先,我希望你们都没事。

我目前正在完成我的任务,我需要实现这些目标:

  • 如果用户已退出,则显示带有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" /> 

显然我不能将它们放在一起&gt;。&lt;所以我的问题是..有没有办法解决这个问题?

以下是我通过ASP.NET从代码调用的JavaScript代码,因为我从数据库中获取了值。他们基本上是在创建我的地图。

<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 个答案:

答案 0 :(得分:3)

您正在加载两个不同版本的Maps API - V2和V3。你应该只使用一个;我建议使用V3,因为不推荐使用V2。

V3是你引用的两个中的后者:<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

然后,在http://code.google.com/apis/maps/documentation/javascript/basics.html

检查V3的参考

答案 1 :(得分:1)

凯说的确切。

请注意,当您升级到V3时,您很可能需要更改部分通话。例如:new GMap2(document.getElementById("map_canvas"));不在v3 API中。

为了完成最少量的工作,您可以弄清楚使用v3的内容以及使用v2的内容。然后转移到变化最小的那个。但如果您有时间/资源,我也建议升级到v3。