2012-02-21 25 views
0

我在我的网站中使用Google Maps API v.3。我想实现的是以下流程:Google地图以特定搜索区域为中心

  1. 用户被呈现一个表单,他输入一个地址(某种 - 城市,街道等)。
  2. 表格填充完成后,向他显示一张地图,向他显示以他输入的地址为中心的地图。然后他可以输入一个关键字来搜索地图区域内的谷歌地点。

我停在的地址是地图的翻译地图。根据我对v3 API的理解,我应该用LatLng中心位置初始化地图 - 但是有一个城市名称,所以我现在还不能完成。我需要在文本地址和坐标之间进行某种翻译 - 例如,当我搜索“比佛利山庄”时,Google地图正在执行的操作。我想呢,有些相反的情况?我应该怎么做在javascript API?

或者有没有在v3嵌入式地图中包含搜索栏的选项?

+0

他问v3,你的链接是基于V2 – defau1t 2012-02-21 09:06:25

回答

2

您需要使用geocode类似下面从http://code.google.com/apis/maps/documentation/javascript/geocoding.html

var geocoder; 
    var map; 
    function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(-34.397, 150.644); 
    var myOptions = { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    } 

    function codeAddress() { 
    var address = document.getElementById("address").value; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: results[0].geometry.location 
     }); 
     } else { 
     alert("Geocode was not successful for the following reason: " + status); 
     } 
    }); 
    } 

复制

,然后你将需要调用您的按钮codeAddress()功能点击