1

Ti.GeoLocation.forwardGeocoder()米国以外の住所を緯度と経度の値に変換していません。

以下サンプルコード。

Ti.GeoLocation.forwardGeocoder('Hyderabad, India', function(e){
var lat = e.latitude;
var long = e.longitude;
});

このコードでは、緯度と経度の値は未定義です。

4

3 に答える 3

1

米国の住所、および世界中のあらゆる場所 (Google が検索できる) を取得し、チタン マップに Long/Lat を表示する適切な方法。

次のコードでは、文字列変数 myAddress を使用しています。

var myAddress = address + ','+ city + ',' + postal + ',' + country //'Vieux Port, Montreal, Quebec, H2X3R4, Canada'
var xhrGeocode = Ti.Network.createHTTPClient();
xhrGeocode.setTimeout(120000);
xhrGeocode.onerror = function (e) {
    alert('Google couldn\'t find the address... check your address');
};
xhrGeocode.onload = function (e) {
    var response = JSON.parse(this.responseText);
    if (response.status == 'OK' && response.results != undefined && response.results.length > 0) {
        longitude = response.results[0].geometry.location.lng;
        latitude = response.results[0].geometry.location.lat;
    }
};
var urlMapRequest = "http://maps.google.com/maps/api/geocode/json?address=" + myAddress.replace(/ /g, '+');
urlMapRequest += "&sensor=" + (Ti.Geolocation.locationServicesEnabled == true);
xhrGeocode.open("GET", urlMapRequest);
xhrGeocode.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
xhrGeocode.send();
于 2013-02-13T01:06:22.440 に答える
0
            var addrReq = Titanium.Network.createHTTPClient();
            var addrUrl = "http://maps.googleapis.com/maps/api/geocode/json?sensor=true&address="+ query;
            addrReq.open("GET",addrUrl);
            addrReq.send(null);


            addrReq.onload = function()
            {
                 var response = JSON.parse(this.responseText);

                  if(response.status == "OK"){



                    LT.Customlat=response.results[0].geometry.location.lat; 
                    LT.Customlon=response.results[0].geometry.location.lng; 

}

于 2013-10-18T19:21:32.860 に答える
-1

Google REST API を使用して独自のソリューションを展開する必要があります。基盤となる Titanium API は、米国以外のアドレスをサポートしていません。

于 2013-02-05T15:10:46.057 に答える