谷歌地图平移到
问题描述:
一直在努力整个谷歌地图从文本链接设置锅。它看起来像地图本身的id没有被传递给函数,但我尝试了许多没有喜悦的东西。谷歌地图平移到
<script type="text/javascript">
var home = new google.maps.LatLng(4.915833, 10.195313);
function initialize() {
var myOptions = {
zoom: 2,
center: home,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
panControl: true,
panControlOptions: {
position: google.maps.ControlPosition.LEFT_CENTER
},
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.LARGE,
position: google.maps.ControlPosition.LEFT_CENTER
},
scaleControl: false,
streetViewControl: true,
streetViewControlOptions: {
position: google.maps.ControlPosition.LEFT_CENTER
}
}
var map = new google.maps.Map(document.getElementById("map"), myOptions);
setMarkers(map, destinations);
clickroute(map);
}
var destinations = [
['Marbella', 36.509937, -4.886352],
['Algarve', 37.016945, -7.928728],
['London', 51.508129, -0.128005],
['Istanbul', 41.00527, 28.97696],
['Whistler', 50.116168, -122.959423]
];
function setMarkers(map, locations) {
var image = new google.maps.MarkerImage('img/marker.png',
new google.maps.Size(41, 63),
new google.maps.Point(0,0));
for (var i = 0; i < locations.length; i++) {
var destination = locations[i];
var myLatLng = new google.maps.LatLng(destination[1], destination[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image,
title: destination[0]
});
}
}
function clickroute(lati, long) {
var latLng = new google.maps.LatLng(51.433373, -0.712251);
map.panTo(latLng);
}
</script>
<li onclick="clickroute()">test</li>
什么可能会导致问题的任何可能的想法?我得到
Uncaught TypeError: Object #<HTMLDivElement> has no method 'panTo'
感谢JS错误
理查德
答
@onemach是正确的。
1. 您必须声明map
作为JavaScript开头的全局变量。只需在<script type="text/javascript">
标签后立即做出var map;
声明。
2. 而在同一时间您的地图初始化应改为
map = new google.maps.Map(document.getElementById("map"), myOptions); // without the 'var'
3.您打电话的<li>
clickroute()
的onClick不带参数。因此,改变clickroute()
这样的定义:
function clickroute() { //just omit the 'lati' and 'long'
var latLng = new google.maps.LatLng(51.433373, -0.712251);
map.panTo(latLng);
}
现在点击test
<li>
您的地图上会移到点(51.433373,-0.712251)
答
clickroute(map);
是你想要的定义
function clickroute(lati, long) {
var latLng = new google.maps.LatLng(51.433373, -0.712251);
map.panTo(latLng);
}
我猜它不兼容
function clickroute(map) {
var latLng = new google.maps.LatLng(51.433373, -0.712251);
map.panTo(latLng);
}
更新:
我很困惑你到底想要什么。
onclick=clickroute()
不传递任何参数给函数。
也没有全球map
在clickroute。
感谢您抽出时间来回答,与仍然没有喜悦和相同的错误:( – user989952 2012-03-26 15:41:27