js 封装经纬度成json_R实现地理位置与经纬度相互转换
时间: 2023-12-16 10:03:40 浏览: 25
你可以使用以下代码实现经纬度与地理位置的相互转换:
```javascript
// 将经纬度封装成 JSON 对象
function wrapLocation(latitude, longitude) {
var location = {};
location.latitude = latitude;
location.longitude = longitude;
return location;
}
// 将地理位置转换为经纬度
function getLocationByAddress(address, callback) {
var geocoder = new qq.maps.Geocoder();
geocoder.getLocation(address, function(result) {
if (result && result.latLng) {
var location = wrapLocation(result.latLng.getLat(), result.latLng.getLng());
callback(location);
} else {
callback(null);
}
});
}
// 将经纬度转换为地理位置
function getAddressByLocation(latitude, longitude, callback) {
var geocoder = new qq.maps.Geocoder();
var location = new qq.maps.LatLng(latitude, longitude);
geocoder.getAddress(location, function(result) {
if (result && result.detail) {
callback(result.detail.address);
} else {
callback(null);
}
});
}
```
其中,`wrapLocation()` 函数可以将经纬度封装成 JSON 对象,`getLocationByAddress()` 函数可以将输入的地址转换为经纬度,并将结果通过回调函数返回,`getAddressByLocation()` 函数可以将输入的经纬度转换为地址,并将结果通过回调函数返回。需要注意的是,上述代码中使用了腾讯地图 API,需要在页面中引入相应的 JavaScript 文件。