我在屏幕上設置了谷歌地圖,但我想要的是允許用戶輸入一個位置,然後重定向到該位置。我在下面的頁面https://developers.google.com/maps/location-based-apps的第一個地圖中有一個示例,您可以在其中輸入位置。我目前的代碼是這樣的,但我找不到有關如何輸入文本框以允許刷新新位置的地圖的信息。Google Maps API文本搜索位置
<script type="text/javascript">
//Javascript used to add Elements to the maps
// Arguments latitude, longitude, name
function addMarkersToMap(eventTitle,eventLongitude,eventLatitude)
{
markers.push({ lat: eventLatitude, lng: eventLongitude, name: eventTitle });
}
function initialize()
{
// Create the map
var lat, lon, myOptions;
if(navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(function(position)
{
lat = <%= @event.latitude %>;
lon = <%= @event.longitude %>;
myOptions =
{
center: new google.maps.LatLng(lat, lon),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
// Create the markers ad infowindows.
for (index in markers) addMarker(markers[index]);
function addMarker(data)
{
// Create the marker
var marker = new google.maps.Marker(
{
position: new google.maps.LatLng(data.lat, data.lng),
map: map,
title: data.name
});
// Create the infowindow with two DIV placeholders
// One for a text string, the other for the StreetView panorama.
var content = document.createElement("DIV");
var title = document.createElement("DIV");
title.innerHTML = data.name;
content.appendChild(title);
var streetview = document.createElement("DIV");
streetview.style.width = "200px";
streetview.style.height = "200px";
content.appendChild(streetview);
var infowindow = new google.maps.InfoWindow(
{
content: content
});
// Open the infowindow on marker click
google.maps.event.addListener(marker, "click", function()
{
infowindow.open(map, marker);
});
// Handle the DOM ready event to create the StreetView panorama
// as it can only be created once the DIV inside the infowindow is loaded in the DOM.
google.maps.event.addListenerOnce(infowindow, "domready", function()
{
var panorama = new google.maps.StreetViewPanorama(streetview,
{
navigationControl: false,
enableCloseButton: false,
addressControl: false,
linksControl: false,
visible: true,
position: marker.getPosition()
});
});
}
},
function(error)
{
alert('Error: An error occur while fetching information from the Google API');
});
}
else
{
alert("Your browser doesn't support geolocations, please consider downloading Google Chrome");
}
}
</script>
<div id="map_canvas" style="width:100%; height:400px"></div>
-1使用V2。 Maps API的[Version 2](https://developers.google.com/maps/documentation/javascript/v2/reference)已棄用,並且僅在2013年5月19日之前有效。您應該使用[版本3](https://developers.google.com/maps/documentation/javascript/reference) – 2013-02-11 20:40:20