具有纬度/经度值的 Android GeoPoint
Posted
技术标签:
【中文标题】具有纬度/经度值的 Android GeoPoint【英文标题】:Android GeoPoint with lat/long values 【发布时间】:2011-04-04 10:05:24 【问题描述】:我正在尝试通过 45.44334 获取 -23.4456 的 GeoPoint
我将什么值传递给 GeoPoint 的构造函数,因为它只接受 Ints。
【问题讨论】:
how to give double value to Geopoint in GoogleMap overlays? 的可能重复项 【参考方案1】:GeoPoint 坐标以微度(度 * 1e6)为单位——写成 here
float lat = -23.4456f;
float lng = 45.44334f;
GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng * 1E6));
【讨论】:
“Google Maps android API 第 1 版已于 2012 年 12 月 3 日正式弃用。”【参考方案2】:我更喜欢创建一个 LatLonPoint:
private static final class LatLonPoint extends GeoPoint
public LatLonPoint(double latitude, double longitude)
super((int) (latitude * 1E6), (int) (longitude * 1E6));
然后无论我需要创建一个地理点,我都有一个纬度/经度,我只是这样做
GeoPoint point = new LatLonPoint(37.234569, -122.123456);
首先在 GeoPoint 上确实应该有一个 lat/long 构造函数。
【讨论】:
【参考方案3】:我从this page 拿了纬度/经度,然后毫无意义地写了它……效果很好,我的家就在那里,它应该在哪里;)
所以不要写(上面的)34.234569,只写 34234569...记住:1e6 是 1000000,没有别的;)
【讨论】:
【参考方案4】:我正在寻找解决方案,可能会对您有所帮助。
1)首先你有学位格式的数据(位置)。 2)通过方程式,您必须将其乘以 1000000 3)现在,你有特定的地理点位置。
喜欢这里;如果我有这样的位置:纬度:23.0395677 和经度:72.5660045° 所以,你的 GeoPoint(23039568,72566045);
【讨论】:
以上是关于具有纬度/经度值的 Android GeoPoint的主要内容,如果未能解决你的问题,请参考以下文章
Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物 - OPEN 开发经验库 - 360安全浏览器 8.1