2013-09-23 70 views
15

以下是旋轉標記的代碼,但是如何旋轉自定義標記。任何想法?如何在Google地圖中旋轉標記?

var angleDegrees = 150; 
new google.maps.Marker({ 
    position: a, 
    map: map, 
    icon: { 
     path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, 
     scale: 6, 
     fillColor: "red", 
     fillOpacity: 0.8, 
     strokeWeight: 2, 
     rotation: angleDegrees //this is how to rotate the pointer 
    } 
}); 

回答

3

API reference沒有具體說什麼有關如何轉動完成,但因爲path需要一個SVG元素我說,他們是如何管理,以旋轉它,多數民衆贊成。如果您使用SVG創建自定義標記,則可以使用transform="rotate(deg centerX centerY")輕鬆完成。

+1

謝謝,我發現這個**符號的路徑,這是一個使用SVG路徑符號表示內置符號路徑,或自定義路徑。** – sms247

+1

準確地說,所以你可以添加自己的SVG使用它的符號。 HEre是所需語法的一個例子。 http://stackoverflow.com/questions/13125289/how-do-i-indicate-transparency-in-an-svg-path-in-google-maps-api-v3 –

+1

是否有其他方法我們可以旋轉任何自定義圖片?在上面的例子中,您可以編寫自定義圖像的url:'path',但不旋轉。 – AndroidLearner

0

您可以使用下面的函數來旋轉圖像,要素是圖像和程度是要旋轉的角度,零是當箭頭是到北:

function (element, degree) { 
    if (navigator.userAgent.match("Chrome")) { 
     element.style.WebkitTransform = "rotate(" + degree + "deg)"; 
    } 
    else if (navigator.userAgent.match("Firefox")) { 
     element.style.MozTransform = "rotate(" + degree + "deg)"; 
    } 
    else if (navigator.userAgent.match("MSIE")) { 
     element.style.msTransform = "rotate(" + degree + "deg)"; 
    } 
    else if (navigator.userAgent.match("Opera")) { 
     element.style.OTransform = "rotate(" + degree + "deg)"; 
    } 
    else { 
     element.style.transform = "rotate(" + degree + "deg)"; 
    } 
} 

最好的問候,

Chen

+3

您的代碼已過時。 Firefox(16+)和IE(10+)不再使用前綴,Opera 15+使用webkit前綴。 – Spinal

+0

@Chen:對不起,我找不到你,我必須多次使用該自定義標記,並且都不具有相同的方向。 – sms247

+1

如何獲得標記元素? –