Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 平板电脑上的Mapview:如何使用偏移来居中地图?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
提示:这是一个带有 HTMLsimilar post.

在我的应用程序的当前平板电脑实现中,我有一个全屏MapView,左侧面板上的RelativeLayout中显示了一些信息,如下所示:

(我的布局非常简单,我想没有必要发布它的可读性)

当我想将地图置于特定点的中心时,问题就来了……如果我使用这段代码

@H_198_13@mapController.setCenter(point);

我当然会得到屏幕中心的点,而不是空白区域的中心.

我真的不知道在哪里可以开始将左侧面板的偏移量转换为地图坐标…

非常感谢任何帮助或建议

解决方法

您可以通过从左上角和右下角获取地图坐标并将其除以屏幕大小来获得目标,以获得每像素的值.

然后你只需要乘以偏移量并将其添加到原始中心.

示例代码

private void centerMap(GeoPoint center,int offX,int offY){
    GeoPoint tl = mapView.getProjection().fromPixels(0,0);
    GeoPoint br = mapView.getProjection().fromPixels(mapView.getWidth(),mapView.getHeight());

    int newLon = offX * (br.getLongitudeE6() - tl.getLongitudeE6()) / mapView.getWidth() + center.getLongitudeE6(); 
    int newLat = offY * (br.getLatitudeE6() - tl.getLatitudeE6()) / mapView.getHeight() + center.getLatitudeE6();

    mapController.setCenter(new GeoPoint(newLat,newlon));

}

要使用,请使用原始中心调用上述方法,并应用偏移量(x和Y).

注意:如上所述,上面的代码将图左移为正偏移值,右图为负偏移值.从您问题的屏幕中,您将需要使用负偏移,向左移动地图,以及Y的零偏移.

问候

大佬总结

以上是大佬教程为你收集整理的android – 平板电脑上的Mapview:如何使用偏移来居中地图?全部内容,希望文章能够帮你解决android – 平板电脑上的Mapview:如何使用偏移来居中地图?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。