- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发如下所示的计步器应用
到目前为止,我找到了如下解决方案:
private void GetDistance(GeoPoint src, GeoPoint dest) {
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.googleapis.com/maps/api/directions/json?");
urlString.append("origin=");//from
urlString.append( Double.toString((double)src.getLatitudeE6() / 1E6));
urlString.append(",");
urlString.append( Double.toString((double)src.getLongitudeE6() / 1E6));
urlString.append("&destination=");//to
urlString.append( Double.toString((double)dest.getLatitudeE6() / 1E6));
urlString.append(",");
urlString.append( Double.toString((double)dest.getLongitudeE6() / 1E6));
urlString.append("&mode=walking&sensor=true");
Log.d("xxx","URL="+urlString.toString());
// get the JSON And parse it to get the directions data.
HttpURLConnection urlConnection= null;
URL url = null;
url = new URL(urlString.toString());
urlConnection=(HttpURLConnection)url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.connect();
InputStream inStream = urlConnection.getInputStream();
BufferedReader bReader = new BufferedReader(new InputStreamReader(inStream));
String temp, response = "";
while((temp = bReader.readLine()) != null){
//Parse data
response += temp;
}
//Close the reader, stream & connection
bReader.close();
inStream.close();
urlConnection.disconnect();
//Sortout JSONresponse
JSONObject object = (JSONObject) new JSONTokener(response).nextValue();
JSONArray array = object.getJSONArray("routes");
//Log.d("JSON","array: "+array.toString());
//Routes is a combination of objects and arrays
JSONObject routes = array.getJSONObject(0);
//Log.d("JSON","routes: "+routes.toString());
String summary = routes.getString("summary");
//Log.d("JSON","summary: "+summary);
JSONArray legs = routes.getJSONArray("legs");
//Log.d("JSON","legs: "+legs.toString());
JSONObject steps = legs.getJSONObject(0);
//Log.d("JSON","steps: "+steps.toString());
JSONObject distance = steps.getJSONObject("distance");
//Log.d("JSON","distance: "+distance.toString());
String sDistance = distance.getString("text");
int iDistance = distance.getInt("value");
}
我决定用GPS的方式来实现。但是,实现这个的“常用方法”是什么?是否只是在 30 秒获取 gps lat,lan,然后计算差异?例如获取 GPS 数据的间隔时间是多长。
感谢帮助
最佳答案
您可以使用计算距离的方法来代替调用 google api。
public double getDistance(double lat1, double lon1, double lat2, double lon2) {
double latA = Math.toRadians(lat1);
double lonA = Math.toRadians(lon1);
double latB = Math.toRadians(lat2);
double lonB = Math.toRadians(lon2);
double cosAng = (Math.cos(latA) * Math.cos(latB) * Math.cos(lonB-lonA)) +
(Math.sin(latA) * Math.sin(latB));
double ang = Math.acos(cosAng);
double dist = ang *6371;
return dist;
}
这将减少一次 API 调用并快速找到两个位置之间的距离。
关于android - 如何计算android中的步行距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22653997/
我正在通过这个 article on Tree Visitors in Clojure 并遇到以下示例: (def data [[1 :foo] [2 [3 [4 "abc"]] 5]]) (walk
我正在尝试找到最可靠的方法来识别用户是在开车、步行、骑自行车还是静止不动。我将在 Android 应用程序中使用它。我宁愿尽可能避免使用 GPS。 请告诉我哪些算法对您有用,它们的优点和缺点。谢谢!
我正在使用 networkx 并尝试在图中找到所有长度为 3 的路径,特别是具有三个边的路径。我试图在 networkx 文档中找到有关算法的一些信息,但我只能在图中找到最短路径的算法。如果最短路径是
我使用以下网址来获取两个位置之间的行车路线。 NSString* apiUrlStr = [NSString stringWithFormat:@"http://maps.google.com/ma
我只成功地显示和存储了单一出行模式的数据,但现在我想存储所有出行模式的距离和持续时间等数据,这是代码,我需要执行哪些更改,提前致谢 映射器.html body
在我的程序中,我想在应用程序关闭时检测事件(步行、运行)或用户位置。这可能吗? 描述:- 我正在使用 SOMOtionDetector 类来检测用户事件。当我的应用程序关闭时(不在后台)有没有办法调用
documentation说 – 在 Azure SDK 1.5 之前,Web 角色部署分配在相同的 IP 地址 – 127.0.0.1,不同的端口号用于区分 Web 角色。现在这种行为又回来了吗?我
documentation说 – 在 Azure SDK 1.5 之前,Web 角色部署分配在相同的 IP 地址 – 127.0.0.1,不同的端口号用于区分 Web 角色。现在这种行为又回来了吗?我
我是一名优秀的程序员,十分优秀!