0

javascriptで緯度と経度の値を住所に変換する方法は? 地理位置情報を試してみましたが、10番地しか表示されません。10 個を超えるアドレスは表示されません。私のコード:

                        if (result.Status.code == G_GEO_SUCCESS) {

                            for ( var i = 0; i < result.Placemark.length; i++) {

                                var addres = result.Placemark[i].address;
                                // var t1=setTimeout(function(){x.value="2 seconds"},2000);
                                if (addres == "") {
                                    // alert('blank');
                                    document.getElementById("msg" + noofid).innerHTML = "Unable to find location";
                                } else {
                                    document.getElementById("msg" + noofid).innerHTML = result.Placemark[i].address;

                                }
                                //alert("address");
                            }

                        }
                        // ====== Decode the error status ======
                        else {
                            var reason = "Code " + result.Status.code;
                            if (reasons[result.Status.code]) {
                                reason = reasons[result.Status.code];
                            }
                            alert('Could not find "' + search + '" '
                                    + reason);
                        }
                    });

}
4

1 に答える 1

0

こんにちは、この API に関して特定の問題があるので、あなたの質問に出くわしました。同様のニーズを持つ私の古いプロジェクトからのソースをいくつか共有します。

// get nearest coords based on given tracking
tb.prototype.getNearestStreetCoords = function(lat, lng, callback) {

    var parentClass = this;

    var nearestStreet = {
        latitude: lat,
        longitude: lng
    };

    if (parentClass.useNearest != true) callback(nearest); 

    var request = {
        origin: new google.maps.LatLng(lat, lng), 
        destination: new google.maps.LatLng(lat, lng),
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };

    directionsService = new google.maps.DirectionsService();

    directionsService.route(request, function(response, status) {

        if (status == google.maps.DirectionsStatus.OK) {       
            callback(response);
        } else {
            callback(false);
        }

    });     
}


// get nearest address based on lat & lng
tb.prototype.getAddress = function(lat, lng, callback) {

    geocoder = new google.maps.Geocoder(); 
    geocoder.geocode({'latLng': new google.maps.LatLng(lat, lng)}, function(results, status) {

        var streetAddress = null;

        if (status == google.maps.GeocoderStatus.OK) {
            streetAddress = results[0].formatted_address;
        } 

        callback(streetAddress);
    }); 
}
于 2013-09-05T10:57:00.853 に答える