Google マップ API を使用していますが、マーカーの位置を取得しようとしているときに問題が発生しました。
住所入力として 2 つのテキスト フィールドを取得し、結果をマーカーで表示します。
マーカーを取得したい場合position(by getPosition() function)
、 new を使用するgoogle.maps.LatLngBounds()
と、マーカーの位置は地図上で正しいのですが、getPosition()
関数は間違った答えを返しますgetPosition
。最初の住所検索で住所を検索するのは 2 回目のみです。 .
ディールがあるみたいで、使ってる時はgetPosition()
まだポジションが更新されていません。
誰でも理由がわかりますか?
ありがとう
これは私のコードの一部です。住所の場所を取得するために JSON 要求を使用すると、うまく機能しますか?
function GetAddress(add , map , pointtype) {
var country = 'france';
var address = add + ', ' + country;
geocoder = new google.maps.Geocoder();
if(pointtype == 0){
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
origmarker.setPosition(results[0].geometry.location) ;
origmarker.setTitle(add);
}
});
}
else{
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
desmarker.setPosition(results[0].geometry.location) ;
desmarker.setTitle(add);
}
});
}
}
var bounds = new google.maps.LatLngBounds() ;
bounds.extend(origmarker.getPosition());
bounds.extend(desmarker.getPosition());
map.fitBounds(bounds);