鉴于移动设备在短时间内的实时位置数据,如何在这条道路上进一步获得一对/一对,比如2英里,甚至更好,5分钟的驾驶?
我看到我可以使用谷歌的Roads API来搭配一对长途对话https://developers.google.com/maps/documentation/roads/snap,但这只会让我分道扬..
这将是一个Android应用程序.
android google-geocoder google-geocoding-api google-roads-api android-gps
我的地图包含多个点以点按用户经过的位置,但是折线未显示在道路上,而是显示了从一个标记到另一个标记的直线。我希望折线穿过马路:随着道路的转弯,它也应该转弯。
这是我的相关代码
dataholder = FirebaseDatabase.getInstance().getReference("UserLocation");
Log.d("onMapReady", "iam here");
dataholder.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("data",String.valueOf(dataSnapshot.getValue()));
System.out.println(dataSnapshot.getValue());
for (DataSnapshot a : dataSnapshot.getChildren()) {
MapData mapData = a.getValue(MapData.class);
arrayList.add(mapData);
lati.add(arrayList.get(i).getLatituide());
longit.add(arrayList.get(i).getLongitude());
Log.d("mapi","i am in loop");
mMap = googleMap;
Double lat = Double.parseDouble(lati.get(i));
Double longi = Double.parseDouble(longit.get(i));
sydney = new LatLng(longi, lat);
points.add(sydney);
MarkerOptions mop = new MarkerOptions();
mop.position(sydney);
mop.title("check");
mMap.addMarker(mop);
Log.d("latitude", String.valueOf(lat));
Log.d("longitude", String.valueOf(longi));
// Add a marker in Sydney and move the camera
mMap.addMarker(new MarkerOptions().position(sydney).title("check"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); …
Run Code Online (Sandbox Code Playgroud) 我正在通过谷歌地图“Snap to Road”api 99 点的列表。我只拿回 85 分,这意味着我缺少一些不会被抢购的积分。有没有办法取回所有的积分?
Observable.fromPromise(googleMapsClient.snapToRoads({
path: bucket,
interpolate: interpolate
}).asPromise()).map(routeLocations => {
console.log(routeLocations)
}
Run Code Online (Sandbox Code Playgroud)
来自 API 的响应:
routeLocations.query.path.split('|').length
> 99
routeLocations.json.snappedPoints.length
> 85
Run Code Online (Sandbox Code Playgroud) 我的问题标题似乎是现有的,但这是我的完整场景。
我有一个基于地图的操作活动,其中沿着道路绘制折线,比方说两个位置之间的路线。基本上,该应用程序跟踪用户当前位置(开车旅行)。因此,直到一切正常,如正确显示路线,设备位置 API 正在提供位置更新(有点精确),而且我也能够顺利更改位置更新,
所以问题是,位置更新有时是锯齿形的,有时可能不会接触道路,位置更新会到处都是。
我也研究过 ROAD api,但即使从之前提出的一些问题中也没有得到正确的帮助。
是否可以使标记仅沿着道路移动?
任何形式的帮助将不胜感激。