因此,用户给了我两个起点A和B。我能够计算出这些点之间的总行驶距离,但是我很想知道是否有可能获得在城市内和城市外行驶的距离。
我想找出的是燃油消耗量,我有两个消耗量值。一种价值是您在城市内开车时的价值,而另一种价值是您在室外旅行时的价值。这样减少了交通,国道,高速公路等。
例如油耗值:
city - 9l/100km
outside - 7l/100km
A和B之间的距离
10km inside city
50km outside city
油耗:
9/100 * 10 + 7/100 * 50
谢谢
答案 0 :(得分:1)
您无法通过实施Google提供的任何API自动执行此操作。但是,有一些手动方法。您必须建立一个城市边界数据库:
此link返回城市的详细信息。就像,如果您搜索“纽约”,将显示纽约的边界,如下所示:
现在,如果您单击详细信息按钮,您将获得一个OSM ID,纽约为'175905'。
现在,您必须转到this link并将此OSM粘贴到Id of relation
文本框中并提交。您将获得多种格式的折线信息。像纽约一样-您必须保存要包含在应用程序中的每个城市的折线信息。
现在任务变得容易了
将此添加到您的依赖项中:
dependencies {
compile 'com.google.maps.android:android-maps-utils:0.5+'
}
,然后检查您当前的位置是否在城市数据库中的任意多边形以下:
PolyUtil.containsLocation(yourLocation, cityPolyPointsList, false);