2012-04-17 61 views
0

我需要解决如何更改默认的“我的位置”蓝色点与图像,这也将采取相同的方式作为指向旅行方向的指南针。这可以通过设备指南针或通过检测来自GPS的行进方向来计算出Android编程,mapview位置覆盖:如何更改默认的蓝色位置点,与另一个图像

我已经做了一些Google搜索,但到目前为止只找到了更改iPhone上点的方法的参考,并且我正在安卓...

我会很感激一些支持和指导,在此

亲切的问候

尼克

在OnCreate中: 的LocationManager locman =(的LocationManager)GE tSystemService(Context.LOCATION_SERVICE);

locman.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 2, locationListener); 

    //Adds a current location overlay to the map 'mapView' and turns on the map's compass 

    MyLocation myLocationOverlay = new MyLocation(this, mapView); 
    mapView.getOverlays().add(myLocationOverlay); 
    myLocationOverlay.enableMyLocation(); 
    myLocationOverlay.enableCompass(); 

    mapView.getOverlays().add(myLocationOverlay); 
    mapView.postInvalidate(); 

在OnLocationChanged:

dbllatitude = locFromGps.getLatitude(); 
     dbllongitude = locFromGps.getLongitude(); 
     dblaltitude = locFromGps.getAltitude(); 


bearing = locFromGps.getBearing(); 


    strlatitude = Double.toString(dbllatitude); 
     strlongitude = Double.toString(dbllongitude); 
     dblaltitude = (dblaltitude/0.3048); 

     LocationText.setText("Your Location: Latitude " + dbllatitude + " Longitude: " +dbllongitude + " Altitude " + dblaltitude); 



     boolean hasbearing = locFromGps.hasBearing(); 


     if (hasbearing = false) { 

      Toast.makeText(getApplicationContext(), "No bearing", Toast.LENGTH_SHORT).show(); 

     } 
     else 
     { 
      Toast.makeText(getApplicationContext(), "I HAZ bearing: " + bearing, Toast.LENGTH_SHORT).show(); 
     } 
     MyLocation.mOrientation = bearing; 
+0

您是通过基于Web的指'MapView'和'MyLocationOverlay',或者一些设施谷歌地图? – CommonsWare 2012-04-17 22:24:55

+0

我指的是MapView和MyLocationOverlay。我已经评论了下面的答案,我改变了图标,但需要让它指向与手机相同的方向... – Nick 2012-04-18 23:30:17

回答

1
+0

谢谢你,我已经改变了图标,但我需要的是真正的东西指向设备行进方向。这个例子的代码:http://stackoverflow.com/questions/753793/how-can-i-use-a-custom-bitmap-for-the-you-are-here-point-in-a-mylocationoverlay 似乎没有工作。我试图在我的位置侦听器中使用getBearing()从GPS中创建一个变量,然后将该变量提供给matrix.postrotate(),但目前为止没有任何运气... – Nick 2012-04-18 23:26:53

+0

*“似乎不起作用”* - 如:不做任何事情,或不做你期望的事情?我很确定这个问题上会有更多的例子。我建议你查找如何在'MapView'上创建一个自定义指南针,因为这主要涉及到你遇到的旋转问题。 – 2012-04-19 19:17:28

+0

它没有做任何事情 - 我有一个烤面包信息,当前轴承读数为0.0。但是我已经在5秒钟内工作了,然后它回到了0。0,所以我知道技术上它应该工作? :S 我会将代码的一部分添加到主要问题中... – Nick 2012-04-20 14:13:09

相关问题