我正在試用谷歌地圖panTo。我有一個JQuery應用程序映射。並嘗試過簡單的代碼。谷歌地圖:「地圖未定義」
function movemap(latlong) {
var myLatlng = new google.maps.LatLng(latlong);
map.panTo(myLatlng);
}
它在螢火蟲控制檯中顯示map is not Defined
。所以這意味着我沒有定義它。那麼我怎麼定義它。
我正在試用谷歌地圖panTo。我有一個JQuery應用程序映射。並嘗試過簡單的代碼。谷歌地圖:「地圖未定義」
function movemap(latlong) {
var myLatlng = new google.maps.LatLng(latlong);
map.panTo(myLatlng);
}
它在螢火蟲控制檯中顯示map is not Defined
。所以這意味着我沒有定義它。那麼我怎麼定義它。
你可能想要通過tutorial;這裏是如何,他們已經創造了一個新的地圖對象:
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
</script>
其中map_canvas
是
<div id="map_canvas" style="width:100%; height:100%"></div>
在這一行var myLatlng = new google.maps.LatLng(latlong);
看來,如果你有兩個變量同時運行。
是不是var myLatlng = new google.maps.LatLng(lat, long);
,兩個變量用逗號分開?
本教程示例的問題是「map」是一個本地變量,僅在initialize()函數內部定義和使用。如果你想在該函數之外引用它,這就是你想要做的,你必須在函數之外定義它。在這種情況下,教程應該改寫像這樣:
<script type="text/javascript">
var map;
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
</script>
注意,「地圖」現在任何函數之外因此現在任何JavaScript函數可以引用它定義。
訣竅是你需要一個變量「地圖」是全球性的。因此,而不是在「初始化函數」初始化它,你只是在某個主塊聲明它,
所以不是這樣的:
function initialize(){
var mapOptions = {
center: new google.maps.LatLng(49.6327939,15.4174414),
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
你會做到這一點:
var map;
function initialize(){
var mapOptions = {
center: new google.maps.LatLng(49.6327939,15.4174414),
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), mapOptions);
}
自變量鏈接是onclick(445223,-0124455),例如 – 2011-05-30 16:42:49
ok。但'google.maps.LatLng'需要傳遞兩個參數,一個是緯度,一個是經度。你的onClick是否正好用逗號分隔來填充字符串「445223,-0124455」? – 2011-05-30 18:05:23
是的。但是,如果我已經改變它以符合逗號分隔,就像在你的例子中一樣。它仍然不是問題的原因 – 2011-05-31 10:52:05