我有商店列表,当我点击任何一个时,取决于我从网络服务器获得的纬度和经度值我在地图上显示它们。其中一些出现但有些不会......我知道这不是一个好问题....但我只是期待一个可能遇到同样问题的人可能有所帮助。
这是代码:
Double Storelat = (FeedListViewActivity.lat);
Double Storelng = (FeedListViewActivity.lng);
storeLocation = new GeoPoint((int) (Storelat * 1E6), (int) (Storelng * 1E6));
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, shadow);
Point locationPoint1 = new Point();
Projection projection1 = mapView.getProjection();
projection1.toPixels(storeLocation, locationPoint1);
Paint containerPaint = new Paint();
containerPaint.setAntiAlias(true);
int containerX1 = locationPoint1.x;
int containerY1 = locationPoint1.y;
if (shadow) {
containerX1 += CONTAINER_SHADOW_OFFSET;
containerY1 += CONTAINER_SHADOW_OFFSET;
containerPaint.setARGB(90, 0, 0, 0);
canvas.drawCircle(containerX1, containerY1, CONTAINER_RADIUS,
containerPaint);
} else {
containerPaint.setColor(Color.RED);
canvas.drawCircle(containerX1, containerY1, CONTAINER_RADIUS,
containerPaint);
}
}
这些是我从网络服务器获得的值:
工作:
lat = 18.5170002 lng = 73.858078
不工作:
lat = 18.618679 lng = 73.8037491
答案 0 :(得分:4)
你的答案就在你自己的问题中
working:
lat = 18.5170002 lng = 73.858078
not working:
lat = 18.618679 lng = 73.8037491
按照上面提供的东西,你可以看到精度差异我也面临同样的问题是6个月,我已经使6精度到8精度,然后工作得很好。
如果您通过了18.618679,那么它会将其视为0.18618679进行确认尝试缩小至2级或3级,您将获得意想不到的地点。