首頁 > API > google map 街景 api 實作範例

google map 街景 api 實作範例

在前幾個禮拜,google己經把全台灣"部份"地區的街景都上架了~~
雖說還不是很完全,但己經有"高雄地區"了,剛好筆者是住高雄,就引起我的興趣了!!
那麼就來實作google map 街景的 api 來玩玩吧~~XD

規劃如下:
1.地圖點到哪,街景就即時顯示到哪~
(google目前搜完地址,還要把小人拉到地圖中街景才顯示,尤其筆者很不會拉小人常常拉不準)
2.每個地址都有唯一的網址,這樣才可以做分享,並且縮短網址
在同一個地址的情況下,google網址為

http://maps.google.com.tw/maps?f=q&source=s_q&hl=zh-TW&geocode=&q=%E9%AB%98%E9%9B%84%E5%B8%82%E6%B0%91%E6%AC%8A%E4%BA%8C%E8%B7%AF6%E8%99%9F&sll=22.622837,120.358065&sspn=0.0123,0.032895&brcurrent=3,0x346e03125ee30365:0xdcfb33e1848b46df,0,0x346e04bf6cb74463:0xd266fce264dae085&ie=UTF8&hq=&hnear=806%E9%AB%98%E9%9B%84%E5%B8%82%E5%89%8D%E9%8E%AE%E5%8D%80%E6%B0%91%E6%AC%8A%E4%BA%8C%E8%B7%AF6%E8%99%9F&z=16&layer=c&cbll=22.605193,120.30945&panoid=0J8XNQFxdf7FjYLoYpHvMA&cbp=12,53.07,,0,4.77
筆者程式的網址為 http://blog.doremicat.com/map.php?address=%E9%AB%98%E9%9B%84%E5%B8%82%E6%B0%91%E6%AC%8A%E4%BA%8C%E8%B7%AF6%E8%99%9F

這是因為google有把一些參數連同帶到裡面,但基於一般user根本不需要太煩雜的url
3.提供街景地圖及一般地圖兩種
4.中文地址 轉換為 經緯度
5.可同時分享到社群網站


範例程式網址,大家可以玩看看!!
(我初始地點定位在往台東的南迴公路上)

本程式參考自 Google地圖 API 參考文件

這次 街景 的主要類別為 GStreetviewPanorama 並呼叫 setLocationAndPOV

主要程式碼如下

<script>
function initialize(address) {
geocoder = new GClientGeocoder();
	if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
			  map = new GMap2(document.getElementById("map_canvas"));
			  map.setCenter(point, 16);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
	var option = { latlng:point };
	var scontainer = document.getElementById("street");
    panorama = new GStreetviewPanorama(scontainer, option);

    GEvent.addListener(map, "click", moveCenter);
	geocoder = new GClientGeocoder();
            }
          }
        );
      }

}

function moveCenter(overlay, latlng){
  var client = new GStreetviewClient();
  client.getNearestPanoramaLatLng(latlng, getLatLng);
}

function getLatLng(newlatlng){
  map.panTo(newlatlng);
  panorama.setLocationAndPOV(newlatlng);
}

</script>

相關文章:

Categories: API Tags: 1,259
  1. taiwancmh
    2010年3月31日10:34 | #1

    可以寄送map.php原始檔案到我信箱?
    還有~如果在本身網頁中~加入一個變數DataAddress變數為實際地址~如何改比較好?
    謝謝

  2. 2010年3月31日11:58 | #2

    @taiwancmh
    您好…己寄到你的信箱囉…
    另外我的範例程式本來就有設變數為實際地址..你先參考看看吧.. :)

  1. 本篇文章目前尚無任何 trackbacks 和 pingbacks。