【发布时间】:2010-06-22 10:55:30
【问题描述】:
我在这个页面上有一点奇怪的问题:http://www.bluprintliving.com/locations 我想显示的标记似乎出现在 Firefox 中,但没有出现在 Chrome/Safari 或 IE 上。我不确定从哪里开始调试这个问题,因为没有 javascript 错误。
代码分为两部分。第一个js文件http://www.bluprintliving.com/js/local-area-gmaps.js
var localSearch = new GlocalSearch();
var global_point;
var icon = new GIcon();
icon.image = "http://www.google.com/mapfiles/marker.png";
icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
icon.iconSize = new GSize(20, 34);
icon.shadowSize = new GSize(37, 34);
icon.iconAnchor = new GPoint(10, 34);
function usePointFromPostcode(postcode, callbackFunction) {
localSearch.setSearchCompleteCallback(null,
function() {
if (localSearch.results[0])
{
var resultLat = localSearch.results[0].lat;
var resultLng = localSearch.results[0].lng;
var point = new GLatLng(resultLat,resultLng);
callbackFunction(point);
global_point = point;
}else{
alert("Postcode not found!");
}
});
localSearch.execute(postcode + ", UK");
}
function setCenterToPointLondon(point) {
//map.setCenter(point, 15);
map.setCenter(new GLatLng(51.50788772102843,-0.1050567626953125), 11);
var marker = new GMarker(point,icon);
map.addOverlay(marker);
}
function setCenterToPoint(point) {
map.setCenter(point, 15);
var marker = new GMarker(point,icon);
map.addOverlay(marker);
}
function createMarker(point,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
然后对于页面上的每个地图都有一个部分,如下所示:
第一张地图
<div id="map" class="location-map"></div>
<script type="text/javascript">
//<![CDATA[
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(51.50788772102843,-0.1050567626953125), 11);
usePointFromPostcode("WC1N 2PL", setCenterToPointLondon);
usePointFromPostcode("EC1M 5RR", setCenterToPointLondon);
//]]>
</script>
第二张地图
<div id="map-no-5-doughty-street" class="location-map"></div>
<script type="text/javascript">
//<![CDATA[
var map = new GMap2(document.getElementById("map-no-5-doughty-street"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(51.50788772102843,-0.1050567626953125), 11);
usePointFromPostcode("WC1N2PL", setCenterToPoint);
//]]>
</script>
第三张地图*
<div id="map-turnmill-street" class="location-map"></div>
<script type="text/javascript">
//<![CDATA[
var map = new GMap2(document.getElementById("map-turnmill-street"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(51.50788772102843,-0.1050567626953125), 11);
usePointFromPostcode("EC1M5RR", setCenterToPoint);
//]]>
</script>
现在这些都是动态生成的,因此随着位置的增长,页面可能会增长到更多地图。
这一切都在 Firefox 中按预期工作,但在其他浏览器中则不然。标记不显示,似乎在其他浏览器中也没有居中。
帮助!请! :)
提前致谢
更新
我已将所有代码放在一个页面上,以便于查看问题和调试:http://www.bluprintliving.com/google-maps.php
再次感谢
【问题讨论】:
标签: javascript debugging google-maps cross-browser