2014-02-28 50 views
1

我想定義一次經度緯度。現在它只在定義兩次時纔有效。谷歌地圖經度緯度定義兩次

我已經移動了東西,但是我管理的所有東西都是破碎的地圖。字體圖標只顯示長和寬在那裏兩次。

這裏是我的代碼:

function initialize() { 

    var mapOptions = { 
    center: new google.maps.LatLng(27.86336,-101.130738), 
    zoom: 16, 
    disableDefaultUI: true, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map = new google.maps.Map(document.getElementById("google-map"), mapOptions); 

    new google.maps.Marker({ 
    map: map, 
    icon: { 
     path: fontawesome.markers.EXCLAMATION, 
     scale: 0.5, 
     strokeWeight: 0, 
     strokeColor: 'transparent', 
     strokeOpacity: 0, 
     fillColor: 'red', 
     fillOpacity: 1, 
    }, 
    clickable: false, 
    position: new google.maps.LatLng(27.86336,-101.130738) 
    }); 

} 

google.maps.event.addDomListener(window, "load", initialize); 

我使用的字體標記物溶液從這裏:Using Icon Fonts as Markers in Google Maps V3是否有幫助

+0

你是什麼意思的「兩次」?在地圖選項和標記位置都說?如果是這樣,那麼Lon只是一個對象;您可以創建一次並將其傳遞給兩個選項。 –

+1

只爲'google.maps.LatLng'使用一個變量,或者爲緯度和經度值使用兩個變量。 –

回答

1

你可以僅僅做:

function initialize() { 
    var myLatLng = new google.maps.LatLng(27.86336. -101.130738); 

    var mapOptions = { 
    center: myLatLng, 
    zoom: 16, 
    disableDefaultUI: true, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map = new google.maps.Map(document.getElementById("google-map"), mapOptions); 

    new google.maps.Marker({ 
    map: map, 
    icon: { 
     path: fontawesome.markers.EXCLAMATION, 
     scale: 0.5, 
     strokeWeight: 0, 
     strokeColor: 'transparent', 
     strokeOpacity: 0, 
     fillColor: 'red', 
     fillOpacity: 1, 
    }, 
    clickable: false, 
    position: myLatLng 
    }); 

} 

google.maps.event.addDomListener(window, "load", initialize); 

只要你聲明範圍內的變量,你不應該有任何問題?

+0

[證明](http://jsfiddle.net/andyuws/a3DC6/) – Andy