-1
各Googleマップマーカーに固有のリンクを追加する方法を理解しようとしています。Googleマップのマーカーに固有のリンクを追加する方法
各場所の配列アイテムに3番目の値を追加してから、新しいGoogleマップクラスにurl:locations [2]を追加しようとしましたが、マップが破損しました。
私が正しくあなたの質問を理解していれば、私は、次のJS ...
function initMap() {
var centerPoint = { lat: 51.6856885, lng: -3.6304398 };
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: centerPoint,
styles: [{ "featureType": "all", "elementType": "labels.text.fill", "stylers": [{ "color": "#ffffff" }] }, { "featureType": "all", "elementType": "labels.text.stroke", "stylers": [{ "visibility": "on" }, { "color": "#424b5b" }, { "weight": 2 }, { "gamma": "1" }] }, { "featureType": "all", "elementType": "labels.icon", "stylers": [{ "visibility": "off" }] }, { "featureType": "administrative", "elementType": "geometry", "stylers": [{ "weight": 0.6 }, { "color": "#545b6b" }, { "gamma": "0" }] }, { "featureType": "landscape", "elementType": "geometry", "stylers": [{ "color": "#545b6b" }, { "gamma": "1" }, { "weight": "10" }] }, { "featureType": "poi", "elementType": "geometry", "stylers": [{ "color": "#666c7b" }] }, { "featureType": "poi.park", "elementType": "geometry", "stylers": [{ "color": "#545b6b" }] }, { "featureType": "road", "elementType": "geometry", "stylers": [{ "color": "#424a5b" }, { "lightness": "0" }] }, { "featureType": "transit", "elementType": "geometry", "stylers": [{ "color": "#666c7b" }] }, { "featureType": "water", "elementType": "geometry", "stylers": [{ "color": "#2e3546" }] }]
});
// Create an array of alphabetical characters used to label the markers.
var labels = '';
// Add some markers to the map.
// Note: The code uses the JavaScript Array.prototype.map() method to
// create an array of markers based on a given "locations" array.
// The map() method here has nothing to do with the Google Maps API.
var markers = locations.map(function (location, i) {
return new google.maps.Marker({
position: location,
label: labels[i % labels.length]
});
});
// Add a marker clusterer to manage the markers.
var markerCluster = new MarkerClusterer(map, markers,
{ imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' });
}
var locations = [
{ lat: 51.5474973, lng: -3.5777395 },
{ lat: 51.4668561, lng: -3.1689607 },
{ lat: 51.6156059, lng: -3.6934229 },
{ lat: 51.5250486, lng: -3.6780919 },
{ lat: 51.6428655, lng: -3.9859831 },
{ lat: 51.5447132, lng: -3.5961878 },
{ lat: 51.5678233, lng: -3.2866061 },
{ lat: 51.5122641, lng: -3.5073934 },
{ lat: 51.4668561, lng: -3.1689607 }
]
これを行いましたが、マップのアイコンをクリックしても、残念ながら実際には何もしません。 – Fazy
どのようにクリック機能を設定していますか?このようにループを追加すると、 –
のようになります... var marker = functions.map(function(location、i){ var marker = new google.maps.Marker {{ position:{lat:51.5474973、lng :-3.5777395}、 url:location.url、 label:labels [i%labels.length] }); marker.addListener( 'click'、function(){ console.log(this.url); //リダイレクトする場合は \t location.href = this.url; }); \tリターンマーカー; }); –