Javascript 谷歌地图

Javascript 谷歌地图,javascript,google-maps,pan,Javascript,Google Maps,Pan,一整天都在努力通过文本链接在谷歌地图上设置一个pan。看起来映射本身的id并没有传递给函数,但我已经尝试了很多方法,但没有任何乐趣 <script type="text/javascript"> var home = new google.maps.LatLng(4.915833, 10.195313); function initialize() { var myOptions = { zoom: 2,

一整天都在努力通过文本链接在谷歌地图上设置一个pan。看起来映射本身的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>

var home=new google.maps.LatLng(4.915833,10.195313);
函数初始化(){
变量myOptions={
缩放:2,
中心:家,
mapTypeId:google.maps.mapTypeId.ROADMAP,
mapTypeControl:false,
泛控制:对,
全控选项:{
位置:google.maps.ControlPosition.LEFT_CENTER
},
动物控制:对,
ZoomControl选项:{
样式:google.maps.ZoomControlStyle.LARGE,
位置:google.maps.ControlPosition.LEFT_CENTER
},
scaleControl:false,
街景控制:对,
街景控制选项:{
位置:google.maps.ControlPosition.LEFT_CENTER
}
}
var map=new google.maps.map(document.getElementById(“map”),myOptions);
设置标记(地图、目的地);
点击路线(地图);
}
var目的地=[
[Marbella',36.509937,-4.886352],
[Algarve',37.016945,-7.928728],
[伦敦,51.508129,-0.128005],
[Istanbul',41.00527,28.97696],
[Whistler',50.116168,-122.959423]
];
功能设置标记(地图、位置){
var image=new google.maps.MarkerImage('img/marker.png',
新谷歌地图大小(4163),
新的google.maps.Point(0,0));
对于(变量i=0;i
有什么可能导致这个问题的想法吗?我收到一个js错误

Uncaught TypeError: Object #<HTMLDivElement> has no method 'panTo'
uncaughttypeerror:对象#没有方法“panTo”
谢谢

Richard

点击路线(地图)与定义不兼容

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()
不向函数传递任何参数

此外,clickroute中没有全局地图。

@onemach是正确的

一,。 您必须在javascript的开头将
map
声明为全局变量。只需做一个
var映射
标记之后的代码>声明

二,。 同时,地图初始化应更改为

map = new google.maps.Map(document.getElementById("map"), myOptions); // without the 'var'
三,。您的呼叫
单击route()
onClick of
  • ,不带参数。因此,更改
    clickroute()
    的定义如下:

    function clickroute() { //just omit the 'lati' and 'long'
        var latLng = new google.maps.LatLng(51.433373, -0.712251);
        map.panTo(latLng);
    }
    

    现在点击
    测试
  • 你的地图将移动到点(51.433373,-0.712251)

    谢谢你花时间回复,仍然没有乐趣,同样的错误:(