私は健全なプロジェクトサイトを改善しようとしていますが、私はパニングに悩まされています。Google APIとmap.panTo:パンニングしない
テキストと録音されたサウンドに関連付けられたマーカーでデータが埋め込まれたGoogleマップがあります。できます。ユーザーがパンを使って地図をナビゲートできるようにしようとしていますが、地図のパンができません。
私はphpやGoogle APIの専門家ではありません。これは私の最初の投稿です。うまくフォーマットされていることを願っています。
プロジェクトのWebアドレスは、私は()関数map_panningを作成して、コンテンツのdivに
<a href="" onclick="map_panning()">please PAN</a>
でこの関数を呼び出すために試してみた
soundplaces.netです。
マップはちょうど私が関数に "return false"を置こうとしたとしても再ロードします。
マーカーが
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html); map.panTo(marker.getPoint());
});
をクリックするしかし、まだ、動作しないとき、私はまた、マップのパンを作ってみました。
誰かが私を助けることができますか?
これは私が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
}
次に体
<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>
どうもありがとうございましたダンカン!私はあなたにそれを知らせるようにしよう! – linecurva
実際には、まだ動作しません。地図が無反応であるようです。このサイトはAPI 2で書かれているので、2つの構文を維持しようとしました。私はどこが間違っているのか探し続けるつもりです。 – linecurva