2011-04-15 100 views
0

首先,我希望你们都很好。Google API V3和路线(Javascript)

我目前的工作在我的任务,我需要实现这些:

  • 显示地图与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" /> 

显然我不能让他们在一起>。 <所以我的问题是..有没有办法绕过这个请?

以下是我通过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。

谢谢你的时间:)

回答

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

+2

另请注意,如果您未指定版本号,则将使用不推荐用于生产的最新版本。您应该使用最新的'Frozen'版本(目前3.2)用于现场网站。 http://code.google.com/apis/maps/documentation/javascript/basics.html#Versioning – 2011-04-15 16:06:38

+0

@bweaver很棒的一点+1 – Kai 2011-04-15 16:11:11

1

究竟是什么凯表示检查V3参考。

请记住,当您升级到V3时,您很可能必须更改一些呼叫。例如:new GMap2(document.getElementById("map_canvas"));不在v3 API中。

要做最少的工作,你可以找出什么使用v3和什么使用v2。然后转移到变化最小的那个。但是,如果您有时间/资源,我还建议升级到v3。