0

JavaScript Google API を使用してサイトのマップを作成しています (これは、PC ではなくタブレットで機能します)。

.NET ドキュメントからすべてのマーカーを取得しています。

新しいカスタム コントロールを作成したいのですが、ユーザーがそれを選択すると、マップ上のポイントをクリックして座標をテキスト フィールドに取得できます。

だから私は新しいコントロールを作成する方法を知っており、マップ内のあるポイントをクリックして座標を取得する方法を知っています:

クリックすると、次のようにlatなりlongます。

google.maps.event.addListener(map, "rightclick", function(event) {
    var latFromMap = event.latLng.lat();
    var lngFromMap = event.latLng.lng();
    // populate yor box/field with lat, lng
    document.getElementById("lat").value = latFromMap;
    document.getElementById("long").value = lngFromMap;
});

コントロールを作成するには (中心に戻ります):

google.maps.event.addDomListener(outer, 'click', function() {
  map.setCenter(getcenter)
});

今。それらをつなぎたい。したがって、コントロールをクリックしたときにのみ、ある時点で緯度/経度を確認できます。

4

1 に答える 1

1

ここで説明されているように、新しい styledMapType を作成できます(スタイリングは必要ありません。単に mapType を作成してコントロールに追加するだけです)。

これを行うと、プロジェクトに必要な 2 つの結果が同時に得られます: コントロールと、コントロールがアクティブかどうかを判断するために毎回チェックできるプロパティ、mapTypeId

クリックを適用するのは簡単です。

google.maps.event.addListener(map, 'click', function() {
  if(this.mapTypeId=='mapTypeIdOfTheStyledMap'){
    //execute click-action
  }
});

デモ: http://jsfiddle.net/doktormolle/kbXGd/

于 2013-02-05T09:37:12.703 に答える