2017-04-26 5 views
-1

私は1つの場所でうまく動作しました。しかし、ユーザーは2つのオフィスのいずれかを選択し、ユーザーが選択した場所に基づいてGoogleマップを生成する必要がありました。マップは情報ウィンドウのコンテンツ情報を取り込む関数 "initMap"によって初期化されます。オフィスロケーションの緯度と経度。Javascriptのユーザー選択に基づいてGoogleマップを作成する

私が言ったように、私は前にこの作業をしていましたが、主にオブジェクトlatLngの使用に関するエラーが発生しました。マーカーを初期化するときに使用されます。

markers[0] = new google.maps.Marker({ 
       position: {latLng.lat, latLng.lng}, 
       map: map, 
       animation: google.maps.Animation.DROP 
       }); 

Iは、ユーザが選択したマップにこれを移動したときに私が作った主な変更は、onAddressChange関数で決定される変数に設定された番号から緯度経度を変更しました。

function onAddressChange(city) { 
      if(city === 'Cockeysville'){ 
       contentInfo = "<div id='infoAddress'>Cockeysville, MD</div>"; 
       latLng = { 
        lat: 39.490837, 
        lng: -77.438154 
       }; 
       initMap(contentInfo, latLng); 
      } else { 
       contentInfo = "<div id='infoAddress'>>Richmond, VA</div>"; 
       latLng = { 
        lat: 37.543268, 
        lng: -77.581338 
       }; 
       initMap(contentInfo, latLng); 
      } 
     } 

私はまだjavascriptとGoogle Map APIについてかなり勉強していますので、私が間違っていることを教えてください!私のフィドルを確認してください、here

答えて

1

あなたの位置のオブジェクトがそうのように、 '緯度' と「LNGのプロパティを持っている必要があります:

markers[0] = new google.maps.Marker({ 
    position: latLng, 
    map: map, 
    animation: google.maps.Animation.DROP 
}); 
:あなたがそうのように、直接あなたのLatLngオブジェクトを使用することができ、が...

markers[0] = new google.maps.Marker({ 
    position: { 
     lat: latLng.lat, 
     lng: latLng.lng 
    }, 
    map: map, 
    animation: google.maps.Animation.DROP 
}); 

関連する問題