
我正在尝试使用android中的默认蓝点向用户显示当前位置.在我的地图页面中,我还具有显示不同兴趣点的布局.我在弄清楚要为某些变量输入什么内容时遇到了麻烦,并且想知道是否有人可以帮助我.
到目前为止,这就是我用来显示位置的信息.
Location location = locationManager .getLastKNownLocation(bestProvIDer); try { GeoPoint myPoint2 = new GeoPoint( (int) (location.getLatitude() * 1E6), (int) (location.getLongitude() * 1E6)); newoverlay.drawMyLocation(null, mapVIEw, location, myPoint2, 1000); mapOverlays.add(newoverlay); } catch (NullPointerException e) { GeoPoint myPoint2 = new GeoPoint((int) (-1 * 1E6), (int) (-1 * 1E6)); **newoverlay.drawMyLocation(null, mapVIEw, location, myPoint2, 1000);** mapOverlays.add(newoverlay); }我不确定要放置什么作为Canvas,所以我将其放置为null以便进行编译.我使用的是位置管理器中的位置,并且我的地理位置来自位置变量.我也不确定“ when”参数应该是什么.
我还想知道蓝色气泡如何与人一起移动,图片是否每隔x毫秒根据“ when”参数更新一次?
到目前为止,该应用程序尚未崩溃,但在任何位置均未显示蓝点.
我确定我只需要帮助就可以找到canvas参数.
谢谢
解决方法:
在您的地图活动中尝试这种方式
class CurOverlay extends Overlay { private GeoPoint pointToDraw; public voID setPointToDraw(GeoPoint point) { pointToDraw = point; } public GeoPoint getPointToDraw() { return pointToDraw; } @OverrIDe public boolean draw(Canvas canvas, MapVIEw curmapVIEw, boolean shadow, long when) { super.draw(canvas, curmapVIEw, shadow); // convert point to pixels Point screenPts = new Point(); curmapVIEw.getProjection().topixels(pointToDraw, screenPts); // add marker Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pinsource); canvas.drawBitmap(bmp, screenPts.x - 28, screenPts.y - 48, null); return true; } }我希望这对您有用.
总结以上是内存溢出为你收集整理的android-如何正确使用drawMyLocation全部内容,希望文章能够帮你解决android-如何正确使用drawMyLocation所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)