2016-08-31 11 views
0

私はカスタムスタイルでGoogleマップを持っています。鉄道やバスステーションのアイコンを自分のPNGに変更したいのですが、他のマーカーのように機能していないようです。それらを変更することは可能ですか?Googleマップで中継地のアイコンを変更するにはどうすればよいですか?

enter image description here

+1

同様の質問:http://stackoverflow.com/questions/31071108/how-to-change-google-maps-bus-stops -default-icon – user2314737

+0

@ user2314737おそらく私は実装について何か不足していますが、そこに提案された答えは機能していないようです。おそらく、PNGのURLが変更されているでしょうか? –

+0

アイコンのURLを変更しようとしましたか? [ドキュメント](https://developers.google.com/maps/documentation/javascript/markers#complex_icons)、[アイコン](https://developers.google.com/maps/documentation/javascript/3)に基づいています。 exp/reference#Icon)オブジェクトはイメージを定義します。また、アイコンの「サイズ」、アイコンの「原点」、アイコンのホットスポットが配置されるべき「アンカー」も定義します。 –

答えて

1

1つのオプションは、トランジットのアイコン(または単にバスのアイコン)を非表示にして、同じ場所でお好みのマーカーを置くことであろう。その後、停留所の場所が必要です。

proof of concept fiddle

screen shot of result

var map; 
 

 
function initMap() { 
 
    map = new google.maps.Map(document.getElementById('map'), { 
 
    center: { 
 
     lat: 53.3507456, 
 
     lng: -6.2393441 
 
    }, 
 
    zoom: 16, 
 
    mapTypeControl: false, 
 
    styles: [{ 
 
     featureType: 'transit', 
 
     elementType: 'labels.icon', 
 
     stylers: [{ 
 
     visibility: 'off' 
 
     }] 
 
    }] 
 
    }); 
 
    for (var i = 0; i < transitStops.length; i++) { 
 
    var tmark = new google.maps.Marker({ 
 
     position: transitStops[i], 
 
     map: map, 
 
     icon: { 
 
     url: "http://www.geocodezip.com/mapIcons/bus_blue.png", 
 
     scaledSize: new google.maps.Size(10, 10), 
 
     anchor: new google.maps.Point(5, 5) 
 
     } 
 
    }) 
 
    } 
 

 

 
    google.maps.event.addListener(map, 'click', function(evt) { 
 
    console.log("{placeId:" + evt.placeId + ", lat: " + evt.latLng.lat() + ", lng: " + evt.latLng.lng() + "}"); 
 
    }); 
 
} 
 
var transitStops = [{ 
 
    placeId: "ChIJP_OC240OZ0gRTwu09OWnk_U", 
 
    lat: 53.347913, 
 
    lng: -6.247165 
 
}, { 
 
    placeId: "ChIJFZJPbY0OZ0gRp8t6ffAVCWE", 
 
    lat: 53.347695, 
 
    lng: -6.243303 
 
}, { 
 
    placeId: "ChIJOd0OQI0OZ0gRUKpFv3o7AEQ", 
 
    lat: 53.347759, 
 
    lng: -6.242445 
 
}, { 
 
    placeId: "ChIJe1pTa40OZ0gR_e129---hi8", 
 
    lat: 53.347746, 
 
    lng: -6.24193 
 
}, { 
 
    placeId: "ChIJKzM8uvIOZ0gRtYKquNyaiYc", 
 
    lat: 53.347528, 
 
    lng: -6.239698 
 
}, { 
 
    placeId: "ChIJywS6evIOZ0gRhNm96pmOHlU", 
 
    lat: 53.347388, 
 
    lng: -6.236351 
 
}, { 
 
    placeId: "ChIJF-4BzfMOZ0gRkEbmpj60Ub0", 
 
    lat: 53.349668, 
 
    lng: -6.235256 
 
}, { 
 
    placeId: "ChIJQ6qDDfMOZ0gRBfF7TUP_Zi8", 
 
    lat: 53.350398, 
 
    lng: -6.238668 
 
}, { 
 
    placeId: "ChIJQ9tx_PMOZ0gRJsmjoHdrYEI", 
 
    lat: 53.351781, 
 
    lng: -6.23502 
 
}, { 
 
    placeId: "ChIJX9g7SvEOZ0gRys5vUWlD7aE", 
 
    lat: 53.352063, 
 
    lng: -6.233089 
 
}, { 
 
    placeId: "ChIJH3fLzfYOZ0gR4UOqoWvdNhw", 
 
    lat: 53.352639, 
 
    lng: -6.232402 
 
}, { 
 
    placeId: "ChIJn_6n1_YOZ0gRtovXaObKKWE", 
 
    lat: 53.352959, 
 
    lng: -6.231608 
 
}, { 
 
    placeId: "ChIJXWdle4wOZ0gRGAyVKltGjlA", 
 
    lat: 53.351128, 
 
    lng: -6.245534 
 
}, { 
 
    placeId: "ChIJ81mp4IsOZ0gROlwgkhh__eA", 
 
    lat: 53.35287, 
 
    lng: -6.248538 
 
}, { 
 
    placeId: "ChIJtanR-PAOZ0gRydiUCW5F6VE", 
 
    lat: 53.349911, 
 
    lng: -6.230235 
 
}, { 
 
    placeId: "ChIJ86GfP_QOZ0gRxuS4lSrV_EU", 
 
    lat: 53.35366366064975, 
 
    lng: -6.236715316772461 
 
}, { 
 
    placeId: "ChIJ2XaPUvQOZ0gRdutDSaj0Ko4", 
 
    lat: 53.354649828682476, 
 
    lng: -6.23798131942749 
 
}, { 
 
    placeId: "ChIJT6lqq_UOZ0gRr00DPcLv8WU", 
 
    lat: 53.35484193668282, 
 
    lng: -6.238517761230469 
 
}, { 
 
    placeId: "ChIJPWurjI8OZ0gRgRn4fsIACMc", 
 
    lat: 53.347169750741884, 
 
    lng: -6.25422477722168 
 
}, { 
 
    placeId: "ChIJpWwGCJEOZ0gRPZ-JB7vXAAU", 
 
    lat: 53.343377977116916, 
 
    lng: -6.248044967651367 
 
}, { 
 
    placeId: "ChIJW6E5POsOZ0gRhU0Mt66cLcg", 
 
    lat: 53.33979085385975, 
 
    lng: -6.2381744384765625 
 
}, { 
 
    placeId: "ChIJG4-0NcIOZ0gRbapaqYSiEm0", 
 
    lat: 53.33384581380873, 
 
    lng: -6.22899055480957 
 
}];
html, 
 
body, 
 
#map { 
 
    height: 100%; 
 
    width: 100%; 
 
    margin: 0; 
 
    padding: 0; 
 
}
<div id="map"></div> 
 
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=initMap"></script>

+0

おはよう、ありがとう。私は努力を感謝し、私はそれを解決したときにこれを更新しておくべきです。残念ながら、私はバス停をクリックしてそこに停車していたバスを表示する必要があるので、これは私の選択肢ではありませんでした。うまくいけば、それは他の誰かを助ける!結局、私はすべてのアイコンを黒くすることに終わりました。私はガンマプロパティを思いついたのですか?それは私にとっては大丈夫でしたが、他の色が必要な場合は、あなたのルートに行く必要がありました。 –

関連する問題