63 lines
2.2 KiB
PHP
63 lines
2.2 KiB
PHP
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: GetLatLng.inc
|
|
Description: Berekent obv Google GeoCode van een adres de LatLong coordinaten
|
|
Parameters:
|
|
obj_key p_adres (string): [Plaats]+[Straat]+[Huisnr], dus b.v. "Amsterdam+Kalverstraat+1"
|
|
Result v_result (string): [Lat]|[Long], dus b.v. "52.123456|4.567890"
|
|
Context:
|
|
Note: Zorg dat je een passende Google Maps API key aanvraagt
|
|
Veronderstelt dat bij het object Lat Lon coordinaten
|
|
zijn ingesteld.
|
|
*/
|
|
%>
|
|
|
|
<%
|
|
function GetLatLng (p_adres){
|
|
// p_adres is varchar: [Plaats]+[Straat]+[Huisnr], dus b.v. "Amsterdam+Kalverstraat+1"
|
|
// Resultaat v_result varchar: [Lat]|[Long], dus b.v. "52.123456|4.567890"
|
|
__Log("GetLatLng, p_adres:" + p_adres);
|
|
var v_result = "";
|
|
if (p_adres!= ""){
|
|
|
|
var v_apikey = S("alg_fg_remote_maps");
|
|
if (v_apikey){
|
|
|
|
v_url_GoogleGeoCode = "https://maps.googleapis.com/maps/api/geocode/xml?address=" + encodeURIComponent(p_adres) + "&key=" + safe.url(v_apikey);
|
|
|
|
__Log("v_url_GoogleGeoCode: " + v_url_GoogleGeoCode);
|
|
|
|
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
|
|
xmlhttp.open("GET", v_url_GoogleGeoCode, false);
|
|
xmlhttp.send();
|
|
|
|
__Log("Response: " + xmlhttp.responseText);
|
|
|
|
var xmlResp = Server.CreateObject("Msxml2.DOMDocument.6.0");
|
|
xmlResp.resolveExternals = false; // XML-data vertrouwen we niet altijd
|
|
xmlResp.validateOnParse = false; // maar dan kun je geen DTD's meer controleren
|
|
|
|
xmlResp.loadXML(xmlhttp.responseText);
|
|
|
|
var strQuery = "GeocodeResponse/result/geometry/location/lat";
|
|
var v_lat = xmlResp.selectSingleNode(strQuery);
|
|
|
|
var strQuery = "GeocodeResponse/result/geometry/location/lng";
|
|
var v_lng = xmlResp.selectSingleNode(strQuery);
|
|
|
|
if (v_lat && v_lng)
|
|
{ __Log(v_lat.text);
|
|
__Log(v_lng.text);
|
|
v_result = v_lat.text + "|" + v_lng.text;
|
|
}
|
|
else
|
|
{
|
|
__Log("No LatLong Result");
|
|
}
|
|
}
|
|
}
|
|
return(v_result);
|
|
}
|
|
%> |