オートコンプリートには次の GMaps コードを使用します。入力フィールドにテキストを入力してリターンを押すと、通常は新しい ac-result を受け取ります。(marker, info_windows, geo-infomations) 別のテキストを入力すると、新しいマーカーが表示され、古いマーカーは削除されます。新しいリクエストを行うときに、マップ上の古い情報ウィンドウで古いマーカーを「フリーズ」するにはどうすればよいですか? どうもありがとう
//オートコンプリート
enter code here//Autocomplete
var acOptions = {
componentRestrictions: {country: 'de'}
};
var autocomplete =
new google.maps.places.Autocomplete(document.getElementById('autocomplete'),acOptions);
autocomplete.bindTo('bounds',map);
var ac_iw = new google.maps.InfoWindow();
var ac_image =
new google.maps.MarkerImage('http://maps.google.com/mapfiles/kml/pal3/icon55.png',
new google.maps.Size(32,32),
new google.maps.Point(0,0),
new google.maps.Point(0,32));
var ac_shadow =
new google.maps.MarkerImage('http://maps.google.com/mapfiles/kml/pal3/icon55s.png',
new google.maps.Size(45,35),
new google.maps.Point(0,0),
new google.maps.Point(0,32));
var ac_marker = new google.maps.Marker({
map: map,
icon: ac_image,
shadow: ac_shadow
});
google.maps.event.addListener(autocomplete,'place_changed',function(){
ac_iw.close();
var place = autocomplete.getPlace();
if(place.geometry.viewport){
map.fitBounds(place.geometry.viewport);
}
else{
map.setCenter(place.geometry.location);
map.setZoom(10);
}
ac_marker.setPosition(place.geometry.location);
ac_iw.setContent('<strong>' + place.name +
'</strong><br/>' + place.formatted_address +
'<br/>tel.: ' + place.formatted_phone_number);
ac_iw.open(map,ac_marker);
google.maps.event.addListener(ac_marker,'click',function(){
ac_iw.open(map,ac_marker);
});
});
}