2011-01-29 71 views
0

目前我使用谷歌靜態地圖API:從谷歌靜態地圖API升級到包括變焦

<img src="http://maps.google.com/maps/api/staticmap?center={$listing.City},{$listing.State}&zoom=5&size=145x145&maptype=roadmap&sensor=false"></img> 

正如你可以看到我使用的Smarty來填充位置:

{$listing.City},{$listing.State}

我想使用Google Maps API v3添加標記和縮放控件。什麼是最有效的方法來實現這一目標?我假設我需要使用地理編碼?

感謝

回答

1

我最近有一個項目,包括谷歌地圖API使用V3。我選擇將API封裝到一個jQuery插件中。 API非常簡單。這裏是一個博客文章的鏈接,我在這裏談論jQuery插件。更重要的是,你可以獲得插件代碼。該代碼顯示瞭如何創建地圖和添加標記的所有細節。

http://blog.bobcravens.com/2010/06/a-google-maps-version-3-jquery-plugin/

這裏是重要的幾個片段:

包括在你的頭以下:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 

這段代碼創建一個貼圖:

var latlng = new google.maps.LatLng(lat, lng); 
    var settings = { 
     zoom: options.zoom, 
     center: latlng, 
     mapTypeControl: true, 
     mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }, 
     navigationControl: options.navControl, 
     navigationControlOptions: { style: google.maps.NavigationControlStyle.SMALL }, 
     mapTypeId: google.maps.MapTypeId.SATELLITE 
    } 
    var theMap = new google.maps.Map($("#div_id")[0], settings); 

要添加覆蓋圖執行以下操作:

var latlng = new google.maps.LatLng(lat, lng); 
    var marker = new google.maps.Marker({ 
     position: latlng, 
     map: theMap, 
     title: "title" 
    }); 

我鼓勵你看看插件的更多細節。希望這可以幫助。

鮑勃

+0

BTW ...該插件有一個「addMarkerByAddress」功能,你可以給它一個城市和國家要添加標記。在引擎蓋下,它使用谷歌反向地理編碼服務。 – rcravens