您在這裡

地圖搜尋網站

silaslin's 的頭像
silaslin 在 2010-12-15 (三) 20:20 發表

最近試作了一個地圖搜尋網站,有點類似這個

使用者輸入地址後,會秀出方圓 1 公里內的教會

我的解決方案如下:
使用模組: Location, GMap, Views, Import Node, Views or

1. 使用 Import Node 將資料匯入

2. Views 的設定如下

3. 樣式 GMAP 的巨集設定如下
[gmap |behavior=+autozoom |control=Large |type=Map]

4. 過濾器: 位置:距離/附近的設定為 Use PHP code
PHP code 如下,目的是把輸入地址的經緯度設為中心點 :


$view = views_get_current_view();
$ads = $view->exposed_data['street'];

// Your Google Maps API key
$key = "你的 key";

// Desired address
$address = "http://maps.google.com/maps/geo?q=".$ads."&output=xml&key=$key";

// Retrieve the URL contents
$page = file_get_contents($address);

// Parse the returned XML file
$xml = new SimpleXMLElement($page);

// Parse the coordinate string
list($longitude, $latitude, $altitude) = explode(",", $xml->Response->Placemark->Point->coordinates);

return(array(
'latitude' => $latitude,
'longitude' => $longitude
));

大功告成~

目前需要解決的問題是,在使用者還未輸入資料前,顯示整個台灣地圖
希望有高手能協助解決這個問題,謝謝~

試試抓取瀏覽者的IP位置做為預設的地圖中心點,應該可以讓使用者有多一些親切感,就像你上國外網站時還是會看到台灣的色情網站廣告一樣的親切~
沒實做過,請有能者接下去公布相關模組使用教學~