2016-07-27 11 views
0

私はラベルの色を設定しようとしていますが、私はsetLabelColorは()組み込み関数であるとは思わない:Google MapsのAPI setLabelColor

google.maps.event.addListener(marker, 'click', (function(marker, i) { 
    return function() { 
     infowindow.setContent(amenities[i][0]); 
     infowindow.open(map, marker); 
     for (j = 0; j < gmarkers.length; j++) { 
      gmarkers[j].setIcon(blackCircle); //resets default icon when another is clicked 
      gmarkers[j].setLabelColor('white'); 
     } 
     marker.setIcon(whiteCircle); //Sets clicked icon 
     marker.setLabelColor('black'); 
    } 
})(marker, i)); 

私はエラーを取得する:

Uncaught TypeError: gmarkers[j].setLabelColor is not a function 

私はsetLabel()が関数だと知っていますが、色を変更したいだけですが、ラベル自体はそのままですか?あなたが同じことを続けることができるようにラベルを追跡するにはMarkerLabelオブジェクト

にラベルを設定する

+0

あなたは 'gmarkers'は、そのマーカーを持っていますか?私は問題があなたのコードのこの部分であるとは思わない。 –

+0

ええ、私は確信しています。 'gmarkers [j] .setLabelColor( 'white');と' marker.setLabelColor( 'black'); 'の両方を削除すると、コードは正常に動作します。 – hrtestrt

+0

完全なコードを含むフィドルを作成できますか? https://jsfiddle.net/5aa9jtax/3/ をしかし、それは1がクリックされたナンバリングシステムを台無しに:このため –

答えて

0

使用setLabel、一つの選択肢は、マーカーのカスタムプロパティに保存することである(以下の例では._labelTextを使用しています) 。

marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(amenities[i][1], amenities[i][2]), 
    map: map, 
    icon: blackCircle, //Sets default icon 
    zIndex: -100, 
    label: { 
    text: "" + amenities[i][3], 
    color: '#EDEBDD' 
    }, 
    _labelText: "" + amenities[i][3] 
}); 
gmarkers.push(marker); 
google.maps.event.addListener(marker, 'click', (function(marker, i) { 
    return function() { 
    infowindow.setContent(amenities[i][0]); 
    infowindow.open(map, marker); 
    for (j = 0; j < gmarkers.length; j++) { 
     gmarkers[j].setIcon(blackCircle); //resets default icon when another is clicked 
     gmarkers[j].setLabel({ 
     color: 'white', 
     text: gmarkers[j]._labelText 
     }); 
     gmarkers[j].setZIndex(-100); 
    } 
    this.setIcon(whiteCircle); //Sets clicked icon 
    this.setLabel({ 
     color: 'black', 
     text: this._labelText 
    }); 
    this.setZIndex(100); 
    } 
})(marker, i)); 

updated fiddle

+0

おかげで、私はここで実装しましたか? – hrtestrt

+0

あなたの質問に答える前に[最小、完全、テスト済み、読みやすい例](http://stackoverflow.com/help/mcve)**を投稿する方が便利でした。それを修正するには、マーカーラベルに関する情報を利用可能にする必要があります。 – geocodezip