我試圖讓一些舊的代碼與最新的Google Maps API一起工作。但是可能像大多數人提出問題一樣,對Javascript沒有經驗,更不用說API了。 如果有人可以協助,我將不勝感激任何幫助正確地工作。謝謝..XMod Pro - DotNetNuke - 谷歌地圖
該模塊是用於DNN的XMod Pro模塊。這可以讓你有很多選擇,而且它是一個非常強大的模塊,可以爲你的網頁創建項目等。之前,有人發佈了關於如何讓Google Maps API在XMod Pro中工作的信息。緯度和長度的位置信息來自數據庫,用戶輸入有關位置的信息。然後將這些標記放在地圖上;這也是頁面上的標準DIV。 XMod Pro使用雙括號標記此數據庫信息;例如[[Title]]爲標題。
當有人點擊位置標題的鏈接時,它會將它們帶到地圖上的該位置,並在彈出窗口中向他們顯示信息(同樣來自 數據庫)。這部分不工作;也沒有任何標記信息。
我認爲問題出在JavaScript上,但究竟是什麼導致了這些問題,我不知道。
以下是XMod Pro代碼,大部分相關信息都存儲在。再次感謝您..
<headertemplate>
<a name="HeaderTop"></a>
<div width="150px" height="40px" style="color:black;background-
color:white;padding-bottom:10px;font-family:Georgia;font-size:
14px"><strong>Click an Item</strong></div>
</headertemplate>
<itemtemplate>
<script type="text/javascript">
var i = i + 1;
x[i] = [[Lat]];
y[i] = [[Long]];
d[i] = '<table><tr><td>[[Title]]</td></
tr><tr><td>[[Description]]</td></tr><tr><td>[[Country]]</td></
tr><tr><td>[[Region]]</td></tr><tr><td>[[Email]]</td></tr></table>';
document.write('<div style="padding-bottom:
8px;color:black;background-color:white" width="150px"
onclick="myGclick(' + i + ');">')
</script>
<strong>
<table>
<tr><td colspan="2"><a href="#HeaderTop"><div style="color:
#a41d21;font-size: 13px">[[Title]]</div></a></td></tr>
<tr><td colspan="2">[[Description]]</td></tr>
<tr><td>[[Country]]</td><td>[[Region]]</td></tr>
</table>
</div>
<xmod:scriptblock scriptid="GoogleMapScripts"
registeronce="true" blocktype="ClientScript">
<script src="http://maps.google.com/maps?
file=api&v=2.x&key=ABQIAAAAHrao_r7BKX4cQI0SxCQVHxRXbr2uTTbz5TwhEXAt1Cz65pgUPxQJAHBbHO1MuQeh5aRNkFOL-
Ozptw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var map = null;
var geocoder = null;
var x=new Array()
var y=new Array()
var d=new Array()
var myGclick = [];
var gmarkers = [];
// This function picks up the click and opens the corresponding info window
myGclick = function myGclick(i) {
GEvent.trigger(gmarkers[i], "click");
}
oldLoad = window.onload;
window.onload = function load(){
if(oldLoad){
oldLoad();
}
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(40, -98), 3);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GOverviewMapControl());
// Creates a marker at the given point with the given number label
function createMarker(point, d) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(d);
});
// save the info we need to use later for the side_bar
gmarkers[i] = marker;
return marker;
}
for (var i = 0; i < 999; i++) {
var point = new GLatLng(x[i],
y[i]);
if ((x[i] == undefined)){break}
map.addOverlay(createMarker(point, d[i]));
}
}
}
//]]>
</script>
</xmod:scriptblock>
</itemtemplate>
<footertemplate>
</footertemplate>
<noitemstemplate>
<strong>nothing in table</strong>
</noitemstemplate>
<detailtemplate>
</detailtemplate>
</xmod:template>
你好,謝謝你的回覆。 Firebug報告「a未定義」。然後,下面的行的狀態: ed(a = undefined,b =「click」) - 第146行Main.js v(a = undefined,b =「click」,c = undefined)Line 148 Main.js myGclick (i = NaN)onclick(event = click clientX = 274,clientY = 213) – user1424532