Google maps 谷歌API和map.panTo:不是平移

Google maps 谷歌API和map.panTo:不是平移,google-maps,map,navigation,panning,Google Maps,Map,Navigation,Panning,我正试图改善我的声音项目网站,但我被困在。。。平移 我有一个由标记填充的谷歌地图,与文本和录制的声音相关联。它起作用了。我试图允许用户通过平移导航地图,因为我无法获得我的地图平移 我不是php或GoogleAPI方面的专家,这是我在这里的第一篇文章,希望它格式良好 该项目的网址是soundplaces.net 我创建了一个函数map_panning(),然后尝试使用 <a href="" onclick="map_panning()">please PAN</a> 但

我正试图改善我的声音项目网站,但我被困在。。。平移

我有一个由标记填充的谷歌地图,与文本和录制的声音相关联。它起作用了。我试图允许用户通过平移导航地图,因为我无法获得我的地图平移

我不是php或GoogleAPI方面的专家,这是我在这里的第一篇文章,希望它格式良好

该项目的网址是soundplaces.net

我创建了一个函数map_panning(),然后尝试使用

<a href="" onclick="map_panning()">please PAN</a> 
但这仍然不起作用

有人能帮我吗

这是我在default.ctp(这个网站是用蛋糕制作的)中的大部分代码,希望能有所帮助

function load() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(<?php echo $CenterMap; ?>), 13);
map.setMapType(G_SATELLITE_MAP);
GDownloadUrl("http://www.soundplaces.net/xml.php", function(data) {
  var xml = GXml.parse(data);
  var markers = xml.documentElement.getElementsByTagName("marker");
  for (var i = 0; i < markers.length; i++) {
    var name = markers[i].getAttribute("name");
var description = markers[i].getAttribute("description");
    var address = markers[i].getAttribute("address");
    var type = markers[i].getAttribute("type");
    var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                            parseFloat(markers[i].getAttribute("lng")));
var file_name = markers[i].getAttribute("file_name");
    var marker = createMarker(point, name, description, address, type, file_name);
    map.addOverlay(marker);


      }
    });
  }
}

function createMarker(point, name, description, address, type, file_name) {
  //var marker = new GMarker(point, customIcons[type]);
  markerOptions = { icon:soundIcon };
  var marker = new GMarker(point, markerOptions);
  var html = "<b>" + name + "</b> <br/>" + address + "<br />" + description + "<br />" + "<object type='application/x-shockwave-flash' data='/media/dewplayer.swf?mp3=/media/audio/"+file_name+"' width='200' height='20'><param name='movie' value='dewplayer.swf?mp3=media/audio/"+file_name+"' /></object>";
  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml(html); map.panTo(marker.getPoint());  
  });
  return marker;
}


function map_panning() {
    map.panTo(new google.maps.LatLng(44.433373,10.712251));
    return false; //cancel navigation
}
函数加载(){
if(GBrowserIsCompatible()){
VarMap=新的GMap2(document.getElementById(“map”);
addControl(新的gsmallmappcontrol());
addControl(新的GMapTypeControl());
setCenter(新GLatLng(),13);
地图。setMapType(G_卫星地图);
GDownloadUrl(“http://www.soundplaces.net/xml.php,函数(数据){
var xml=GXml.parse(数据);
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(var i=0;i“+address+”
“+description+”
“+”; addListener(标记'click',函数(){ marker.openInfoWindowHtml(html);map.panTo(marker.getPoint()); }); 返回标记; } 函数映射\u平移(){ panTo(新的google.maps.LatLng(44.433373,10.712251)); 返回false;//取消导航 }
然后在身体里

   <body onload="load()" onunload="GUnload()">



        <div id="content">
        <a href="" onclick="map_panning()">Please PAN</a>
            <?php echo $this->Session->flash(); ?>

            <?php echo $content_for_layout; ?>

        </div>
<?php echo $this->element('sql_dump'); ?>
</body>

你把谷歌地图API 2和API 3的代码混在一起了。这两个不能一起工作,你必须使用其中一个。API 2已被弃用,因此您最好使用API 3

e、 g.
new google.maps.LatLng(44.433373,10.712251)
是API 3,但
new GMarker(point,markerOptions)
是API 2

如果您确实希望使用API 2保留所有功能,您可能应该将map_panning函数修改为类似以下内容:

map.panTo(new GLatLng(44.433373,10.712251));

你把谷歌地图API 2和API 3的代码混在一起了。这两个不能一起工作,你必须使用其中一个。API 2已被弃用,因此您最好使用API 3

e、 g.
new google.maps.LatLng(44.433373,10.712251)
是API 3,但
new GMarker(point,markerOptions)
是API 2

如果您确实希望使用API 2保留所有功能,您可能应该将map_panning函数修改为类似以下内容:

map.panTo(new GLatLng(44.433373,10.712251));

非常感谢邓肯!我会尽力让你知道的!事实上,它还不起作用。地图似乎没有反应。该站点是用API2编写的,因此我尝试保留API2语法。我会继续努力找出我的错误所在。非常感谢邓肯!我会尽力让你知道的!事实上,它还不起作用。地图似乎没有反应。该站点是用API2编写的,因此我尝试保留API2语法。我会继续努力找出我的错误所在。