私はNokiaMaps(私は本当にそれらを愛している素晴らしいオプション)で開発していますが、HTML5でしか場所(緯度と経度)を取得できませんが、私がいる場所の名前を取得することはできません:/、誰かが与えることができるかもしれませんアイデア、それを行う方法、あなたの助けに非常に感謝します。
質問する
1121 次
1 に答える
3
Maps API for JavaScript 3.x
現在の3.xJavaScriptAPIは、 RESTGeocoderAPIの薄いラッパーを提供します。ReverseGeocode検索を実行してから、結果で見つかったLocationオブジェクトからデータを抽出する必要があります。
完全に機能する逆ジオコーディングの例はここにありますが、重要なビット(住所の取得)は以下にあります。
function reverseGeocode(platform) {
var geocoder = platform.getGeocodingService(),
reverseGeocodingParameters = {
prox: '52.5309,13.3847,150', // Location
mode: 'retrieveAddresses',
maxresults: '1',
jsonattributes : 1
};
geocoder.reverseGeocode(
reverseGeocodingParameters,
function (result) {
var locations = result.response.view[0].result;
// ... etc.
},
function (error) {
alert('Ooops!');
}
);
}
Maps API for JavaScript 2.x(非推奨)
最近廃止された2.xJavaScriptAPIでは、 ReverseGeocode検索を実行してから、結果で見つかったAddressオブジェクトからデータを抽出する必要があります。
コードは少し長くなりますが、重要なビット(アドレスの取得)を以下に示します。
// Function for receiving search results from places search and process them
var processResults = function (data, requestStatus, requestId) {
var i, len, locations, marker;
if (requestStatus == "OK") {
// The function findPlaces() and reverseGeoCode() of return results in slightly different formats
locations = data.results ? data.results.items : [data.location];
// We check that at least one location has been found
if (locations.length > 0) {
for (i = 0, len = locations.length; i < len; i++) {
alert(locations[i].address.street);
alert(locations[i].address.state);
}
} else {
alert("Your search produced no results!");
}
} else {
alert("The search request failed");
}
};
/* We perform a reverse geocode search request: translating a given
* latitude & longitude into an address
*/
var reverseGeoCodeTerm = new nokia.maps.geo.Coordinate(
52.53099,
13.38455
);
nokia.places.search.manager.reverseGeoCode({
latitude: reverseGeoCodeTerm.latitude,
longitude: reverseGeoCodeTerm.longitude,
onComplete: processResults
});
于 2013-03-05T08:31:50.347 に答える