0

我想標記圖標旋轉道路方向,你可以在圖片看到的只是剛放置,但它不是旋轉到道路方向..我已經試過下面的代碼就如何旋轉谷歌地圖標記,道路方向

double lat = 19.205681 
double lon = 72.871742 
loc.setLatitude(lat); 
loc.setLongitude(lon); 
Location newLoc = new Location("service Provider"); 
newLoc.setLongitude(lat); 
newLoc.setLongitude(lon); 
map.addMarker(new MarkerOptions() 
    .position(new LatLng(data.getLat(),data.getLon())) 
    .icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_pandu_car)) 
    .anchor(0.5f,0.5f) 
    .rotation(loc.bearingTo(newLoc)) 
    .flat(true)); 

注:標記有個別位置(ofcource)我不想顯示來自後的位置軸承...只有個別標記面臨道路方向

感謝您 enter image description here

更新:我想設定我的標記ER(汽車)這樣的奧拉應用

enter image description here

+0

如果您是從API獲取,上傳結束必須提供軸承的服務器,使其返回到你。這是因爲您不想根據當前位置設置方位,而是根據所提供位置的實際方位來設置方位。 – Milan

回答

0

我已經試過你的代碼中,首先檢查是newLoc的承壓或不? 只是做了一些修改,如下圖所示,你可以嘗試一下:

LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, 
       new com.google.android.gms.location.LocationListener() { 
        @Override 
        public void onLocationChanged(Location location1) { 
         if (location1 != null) { 
          if (currentPositionMarker != null) { 
           currentPositionMarker.remove(); 
          } 
          double latitude = location1.getLatitude(); 
          double longitude = location1.getLongitude(); 
          LatLng latLng = new LatLng(latitude, longitude); 
          int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activity); 
          if (status == ConnectionResult.SUCCESS) { 
           currentPositionMarker = googleMap.addMarker(new MarkerOptions().position(latLng) 
             .icon(BitmapDescriptorFactory.fromResource(R.drawable.current_position)) 
             .rotation(location1.getBearing()).flat(true).anchor(0.5f, 0.5f) 
             .alpha((float) 0.91)); 

          } else { 
           GooglePlayServicesUtil.getErrorDialog(status, activity, status); 
          } 
         } 
        } 
       }); 
+0

沒有它不工作:(標誌仍屬於垂直的(而不是每路方向)..你可以請分享整個代碼?或者你想我的全球化志願服務青年 –

+0

更多的代碼,看看我的編輯答案,可能它可以幫助你 – BSavaliya