2017-08-09 20 views
1

クリックしたマーカーのnameまたはidを知るにはどうすればよいですか?マーカーの名前またはIDを取得する方法

それは可能ですか?

例えば、このようなマーカーのlabel/nameを見つける方法はあります:

onMarkerClick: function(label){ 
    alert(label.text()); 
} 

すべてのヘルプは大歓迎:)

答えて

0

クリックハンドラ関数の2番目のパラメータはのキー/インデックスですマーカーオブジェクト

onMarkerClick(イベントe、文字コード)

一つのことを行うことが可能な方法は、次のとおりです。

onMarkerClick: function(e, code) { 
    var mapObj = $("#map").vectorMap("get", "mapObject"); 
    var idx = parseInt(code); // optional 
    var name = mapObj.markers[idx].config.name; 
    var latitude = mapObj.markers[idx].config.latLng[0]; 
    var longitude = mapObj.markers[idx].config.latLng[1]; 
} 

説明:

  • あなたが作成したかによって、マーカー、あなたはインデックスを取得する必要があります は、デフォルトでは、数値
  • として、各マーカーは、あなたがより多くの情報が必要な場合は、次のように、ブラウザでマップオブジェクトのプロパティを探索してみてくださいポイント

namecoordsを記憶しています。 console.log(mapObj.markers);

+0

Hmmは良い解決策のようですが、私にはgetMapObjectを読み取ることができないというエラーが表示されるだけです。これは、jvectormap jsスクリプトのエラーを示します。おそらく私が間違っていたことでしょう:/ –

+0

あなたのマップを置いた要素をチェックしてください: '$("#map ")'はその 'id'を含むべきです。うまくいけない場合は、マークアップを投稿してください;) – deblocker

+1

ああ、私のマップはマップと呼ばれていない世界地図です。お試しになりました –

関連する問題