透明な PNG をマーカーとして使用していますが、透明な領域を特定の色で塗りつぶしたいと考えています。以前はマーカー シャドウを使用してこれを実現していましたが、それらはビジュアル リフレッシュ (v3.14) では機能しません。
ありがとう!
透明な PNG をマーカーとして使用していますが、透明な領域を特定の色で塗りつぶしたいと考えています。以前はマーカー シャドウを使用してこれを実現していましたが、それらはビジュアル リフレッシュ (v3.14) では機能しません。
ありがとう!
マーカーの -option を false に設定するoptimized
と、セレクターを使用してカスタム css を marker-img に適用できます。
img[src="path/to/custom/marker.png"]
同じ画像を複数の色で使用できるようにするには、色を URI フラグメントとして追加するだけで、同じ画像でも一意のセレクターを取得できます。
JS:
new google.maps.Marker({
optimized: false,
icon: 'path/to/custom/marker.png#red'
//other properties
});
CSS:
#map-canvas img[src="path/to/custom/marker.png#red"]{
background-color:red;
}
もちろん、CSS ルールをハードコーディングしたくない場合は、JS を介して動的に設定することもできます。以下を参照してください。styleSheet.insertRule()
同じ画像に複数の背景色を使用したデモ (動的ルール挿入を含む):
わかりました、どこが難しいですか?半透明の色が必要な場合は、アイコンで作成するだけです。ここでは、50% の透明な緑があります。
そして、それを地図に載せます:
var marker = new google.maps.Marker({
position: new google.maps.LatLng(-34.397, 150.644),
map: map,
icon: "http://i.stack.imgur.com/su8w5.png"
});