VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

求助google map codeaddress問題

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
fgtsai0418



註冊時間: 2013-07-09
文章: 6


第 1 樓

發表發表於: 星期五 七月 12, 2013 11:11 pm    文章主題: 求助google map codeaddress問題 引言回覆

之前google map需要的座標格式為 22.601914,120.283186 ,需分為兩欄
但是我現在機器能提供給我的是"22 35.097' N,120 18.623' E"這樣的格式
所以我想透過codeaddress的語法來讀他,可是一直無法成功,請問有人能協助嗎?


function load(User_Id) {
var map = new google.maps.Map(document.getElementById("map_canvas"), {
center: new google.maps.LatLng(22.601914,120.283186),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});

var infoWindow = new google.maps.InfoWindow;
var geocoder = new google.maps.Geocoder();



// Change this depending on the name of your PHP file
downloadUrl("db_2_xml.php?id="+User_Id, function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("markers");

for (var i = 0; i < markers.length; i++) {
var vessel = markers[i].getAttribute("vessel");

var geocoder = new google.maps.Geocoder(
geocoder.geocode(markers[i].getAttribute("GPS")));
/*
var pointss = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
*/
var speed = markers[i].getAttribute("speed");

var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: geocoder,
icon: icon.icon,
shadow: icon.shadow
});
bindInfoWindow(marker, map, infoWindow, html);
}
});

// Change this depending on the name of your PHP file
// Draw a polyline

downloadUrl("db_2_xml.php?id="+User_Id, function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("markers");
var path = [];
for (var i = 0; i < markers.length; i++) {
var lat = floatval (markers[i].getAttribute("gps"));
// var lng = parseFloat(markers[i].getAttribute("lng"));
var point = new google.maps.LatLng(lat,lng);
path.push(point);
}//finish loop

var polyline = new google.maps.Polyline({
path: path,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
polyline.setMap(map);
mysql_free_result($result); // 釋放佔用的記憶體
mysql_close($link); // 關閉連結

}); //end download url


}

function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}

function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;

request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};

request.open('GET', url, true);
request.send(null);
}

function doNothing() {}
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
elleryq



註冊時間: 2007-06-21
文章: 768


第 2 樓

發表發表於: 星期二 七月 16, 2013 4:30 pm    文章主題: 引言回覆

要做轉換,你可以參考這篇 http://blog.xuite.net/lwkntu/blog/13586958
你要把度分秒轉換成十進位
引言回覆:

●度分秒換算為十進位:
(a)經度(longitude):
 20.8/60/60 = 0.005777778
 32/60 = 0.533333333
 121 = 121
 ∴ 121 + 0.533333333 + 0.005777778 = 121.539111
 Ans. E 121.539111
(b)緯度(latitude):
 2.4/60/60 = 0.000666667
 1/60 = 0.016666667
 25 = 25
 ∴ 25 + 0.016666667 + 0.000666667 = 25.01733333
 Ans. N 25.01733333
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
fgtsai0418



註冊時間: 2013-07-09
文章: 6


第 3 樓

發表發表於: 星期三 七月 17, 2013 8:26 am    文章主題: 引言回覆

似乎 有那麼一點
我不太知道如何能把mysql的欄位資料讀出來,經過運算,再放回去同一列裡面@@
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
elleryq



註冊時間: 2007-06-21
文章: 768


第 4 樓

發表發表於: 星期三 七月 17, 2013 9:59 pm    文章主題: 引言回覆

就在 javascript 裡運算就好了啊
代碼:

var lat = floatval (markers[i].getAttribute("gps"));
var lng = parseFloat(markers[i].getAttribute("lng"));
// 運算...運算式自己寫,應該不難
var new_lat = ...;
var new_lng = ...;

var point = new google.maps.LatLng(new_lat, new_lng);
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
fgtsai0418



註冊時間: 2013-07-09
文章: 6


第 5 樓

發表發表於: 星期三 七月 17, 2013 10:30 pm    文章主題: 引言回覆

好滴!! 我研究看看
謝謝啦
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作