2015-08-27 124 views
0

我想在android應用中使用百度地圖。到目前爲止,我已經設法整合百度地圖,但它顯示了所有緯度和經度的靜態地圖。到目前爲止我所做的是:如何在百度地圖中顯示當前位置android

public class BaiduMapActivity extends AppCompatActivity{ 

    @SuppressWarnings("unused") 
    private static final String LTAG = BaiduMapActivity.class.getSimpleName(); 
    private MapView mMapView; 
    private BaiduMap mBaiduMap; 
    // ********bejing********** 
    double lat = 39.9167; 
    double longi = 116.3833; 

    double shanghaiLat = 31.2000; 
    double shangaiLong = 121.5000; 
    Context mContext = BaiduMapActivity.this; 
    RoutePlanSearch mSearch = null; // 搜索模塊,也可去掉地圖模塊獨立使用 
    RouteLine route = null; 
    OverlayManager routeOverlay = null; 
    boolean useDefaultIcon = false; 
    private boolean canGetLocation; 
    private double singaporeLat = 1.3000; 
    private double singaporeLong = 103.8000; 
    private double hongkongLat = 22.2783; 
    private double hongkongLong = 114.1747; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     SDKInitializer.initialize(getApplicationContext()); 
     setContentView(R.layout.activity_baidu_maps_layout); 
     init(); 
     try { 
      mBaiduMap = mMapView.getMap(); 
      mBaiduMap.setMyLocationEnabled(true); 
      MyLocationData locData = new MyLocationData.Builder() 

        .direction(100).latitude(hongkongLat).longitude(hongkongLong).build(); 
      //loads same map even if lat long are changed 
      mBaiduMap.setMyLocationData(locData); 

     }catch (Exception e){ 
      e.printStackTrace(); 

     } 
    } 


    private void init() { 
     mMapView = (MapView) findViewById(R.id.baidu_mapview_id); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     mMapView.onPause(); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     mMapView.onResume(); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     mMapView.onDestroy(); 
    } 

} 

如何爲不同緯度加載地圖長?

回答

0

你應該改變這一行:

MyLocationData locData = new MyLocationData.Builder().direction(100).latitude(hongkongLat).longitude(hongkongLong).build(); 

你可以改變你hongkongLat你的緯度,並hongkongLong到你的長。

但有一點需要注意的是,百度地圖使用了不同的緯度/經度系統。他們提供API to translate "Google's lat/lng" to "Baidu's lat/lng"。但是,使用Google地圖總是更容易。

相關問題