首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Google v2实现带有方向的安卓onLocationChanged

使用Google v2实现带有方向的安卓onLocationChanged
EN

Stack Overflow用户
提问于 2015-12-16 05:04:15
回答 2查看 6.1K关注 0票数 3

我正在用谷歌地图标记和Polyline为android制作一个旅游地图,我成功地做到了这一点,但现在我需要添加一些东西,使我的应用程序更友好的用户。所以我想把这个功能放到我的应用程序中。

差不多吧。

当用户移动时,使用实时更新。

不管怎样,这是我的应用程序

我不知道怎么开始那个放置方向。有人能帮我吗?

尝试过使用这种方法,但失败了。

@覆盖公共无效onLocationChanged(位置位置){ //获取当前位置的纬度-双纬度= location.getLatitude();

代码语言:javascript
代码运行次数:0
运行
复制
    // Getting longitude of the current location
    double longitude = location.getLongitude();

    // Creating a LatLng object for the current location
    LatLng latLng = new LatLng(latitude, longitude);

    // Showing the current location in Google Map
    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));

    // Zoom in the Google Map
    googleMap.animateCamera(CameraUpdateFactory.zoomTo(18));



    start = latLng;

    Log.d("Location Changed: ", latLng.toString());
    //etLog.append("Location Changed: " + latLng.toString() + System.getProperty("line.separator"));
}

`

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-16 05:41:24

尝试这段代码,你将得到更新的位置,在地图上直播。

代码语言:javascript
代码运行次数:0
运行
复制
public class MapActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener,LocationListener{ 
final String TAG = "mapactivity";
LocationRequest  locationRequest;
GoogleAPiClient googleApiClient;
googleApiClient = new GoogleApiClient.Builder(this)
            .addApi(LocationServices.API)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this).build();
@Override
public void onStart(){
    super.onStart();
    googleApiClient.connect();
}
@Override
public void onStop(){
    googleApiClient.disconnect();
    super.onStop();
}
@Override
public void onConnectionSuspended(int i){
    Log.i(TAG, "Connection suspended");

}
@Override
public void onConnectionFailed(ConnectionResult connectionResult){
    Log.i(TAG, "connection failed");

}
@Override
public void onConnected(Bundle bundle){
    locationRequest = LocationRequest.create();
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    locationRequest.setInterval(1000);
    LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, locationRequest, this);
}
@Override
public void onLocationChanged(Location location){
    Double curLat = location.getLatitude();//current latitude
    Double curLong = location.getLongitude();//current longitude
} }
票数 2
EN

Stack Overflow用户

发布于 2015-12-16 05:33:57

您必须从google控制台启用google地图方向api。要获得方向,您必须使用api键传递两个latlngs作为源和目的地,您将获得给定源和目标之间的所有点,绘制它们之间的折线,您将得到在源和目的地之间绘制的方向分界线,如屏幕截图所示,请遵循这个链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34304279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档