- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好 friend 我想在下面的两个端点之间绘制路线是我的代码。
Demos.java
public class Demos extends FragmentActivity implements OnClickListener {
private GoogleMap myMap;
Polyline line;
Context context;
// Static LatLng
LatLng startLatLng = new LatLng(22.2894294,70.7982287);
LatLng endLatLng = new LatLng(22.3038945,70.8021599);
public void onCreate(Bundle bd) {
super.onCreate(bd);
setContentView(R.layout.test);
context = Demos.this;
// Temp GetTrails Button
Button btntemp = (Button) findViewById(R.id.button1);
btntemp.setOnClickListener(this);
// GoogleMap myMap
myMap = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
myMap.setMyLocationEnabled(true);
myMap.moveCamera(CameraUpdateFactory.newLatLng(startLatLng));
myMap.animateCamera(CameraUpdateFactory.zoomTo(12));
// Now auto clicking the button
btntemp.performClick();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
String urlTopass = makeURL(startLatLng.latitude,
startLatLng.longitude, endLatLng.latitude,
endLatLng.longitude);
new connectAsyncTask(urlTopass).execute();
break;
default:
break;
}
}
private class connectAsyncTask extends AsyncTask<Void, Void, String> {
private ProgressDialog progressDialog;
String url;
connectAsyncTask(String urlPass) {
url = urlPass;
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
progressDialog = new ProgressDialog(context);
progressDialog.setMessage("Fetching route, Please wait...");
progressDialog.setIndeterminate(true);
progressDialog.show();
}
@Override
protected String doInBackground(Void... params) {
JSONParser jParser = new JSONParser();
String json = jParser.getJSONFromUrl(url);
return json;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
progressDialog.hide();
if (result != null) {
drawPath(result);
}
}
}
public String makeURL(double sourcelat, double sourcelog, double destlat,
double destlog) {
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.googleapis.com/maps/api/directions/json");
urlString.append("?origin=");// from
urlString.append(Double.toString(sourcelat));
urlString.append(",");
urlString.append(Double.toString(sourcelog));
urlString.append("&destination=");// to
urlString.append(Double.toString(destlat));
urlString.append(",");
urlString.append(Double.toString(destlog));
urlString.append("&sensor=false&mode=driving&alternatives=true");
return urlString.toString();
}
public class JSONParser {
InputStream is = null;
JSONObject jObj = null;
String json = "";
// constructor
public JSONParser() {
}
public String getJSONFromUrl(String url) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
json = sb.toString();
is.close();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
return json;
}
}
public void drawPath(String result) {
if (line != null) {
myMap.clear();
}
myMap.addMarker(new MarkerOptions().position(endLatLng).icon(
BitmapDescriptorFactory.fromResource(R.drawable.green)));
myMap.addMarker(new MarkerOptions().position(startLatLng).icon(
BitmapDescriptorFactory.fromResource(R.drawable.org)));
try {
// Tranform the string into a json object
final JSONObject json = new JSONObject(result);
JSONArray routeArray = json.getJSONArray("routes");
JSONObject routes = routeArray.getJSONObject(0);
JSONObject overviewPolylines = routes
.getJSONObject("overview_polyline");
String encodedString = overviewPolylines.getString("points");
List<LatLng> list = decodePoly(encodedString);
PolylineOptions options = new PolylineOptions().width(5).color(Color.BLUE).geodesic(true);
for (int z = 0; z < list.size(); z++) {
LatLng point = list.get(z);
options.add(point);
}
line = myMap.addPolyline(options);
} catch (Exception e) {
e.printStackTrace();
}
}
private List<LatLng> decodePoly(String encoded) {
List<LatLng> poly = new ArrayList<LatLng>();
int index = 0, len = encoded.length();
int lat = 0, lng = 0;
while (index < len) {
int b, shift = 0, result = 0;
do {
b = encoded.charAt(index++) - 63;
result |= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lat += dlat;
shift = 0;
result = 0;
do {
b = encoded.charAt(index++) - 63;
result |= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
lng += dlng;
LatLng p = new LatLng((((double) lat / 1E5)),
(((double) lng / 1E5)));
poly.add(p);
}
return poly;
}
当我运行上面的代码时,我的应用程序接近 5.1 lollipop 设备,知道如何解决这个问题吗?
最佳答案
尝试在你的内部 oncreate 方法中添加一行
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().build();
StrictMode.setThreadPolicy(policy);
也许对你有帮助。
关于android - 在 5.1 android 设备上绘制路线图时应用程序崩溃的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135755/
这里是执行 2 点(origin, current location){geoPoint, "current Location"} 到 Destination.{geoPoint1, "Desti L
有没有人找到 PHP 版本 6 的路线图? 此外,发布日期的任何非常粗略的 ETA(请不要回答“准备就绪时”,我只是想了解一下是 2010 年上半年、下半年等) 最佳答案 已经有一个可以使用的开发版本
有人能指出这个项目 ( Managed Service Engine ) 是否已被放弃吗? 我需要决定是否将其用作我的企业服务虚拟化计划的一部分。我目前看到来自 Microsoft 的许多竞争解决方案
由于某种原因,jQuery 模板插件 (jquery-tmpl) 的开发已被搁置。从阅读有关该主题的博客文章来看,它似乎将来会再次包含在内,或者被采用不同方法的内容所取代(例如 jsRender 和
With the recent announcement PHP 6 的开发已经停止,我对 PHP 5.x 和 6.x 路线图包含的内容感到困惑。 PHP 的当前版本是 5.3.2。 PHP 6.0
我一直在密切关注pivot 的r2dbc 更新,我希望使用这种方法构建我的应用程序。我尝试了一些带有 r2dbc postgres 驱动程序的小型应用程序,如下所示:
当我们在 Azure 上部署 ASP.CORE 3.0 时,出现以下错误: The current .NET SDK does not support targeting .NET Core 3.0
您是否计划增加从项目中检索(通过 API)所有任务的可能性,包括那些已归档的任务? 最佳答案 (我在 Asana 工作) 这将是一个有用的功能,我们已经在计划添加它。但是,我无法评论何时可以。 关于A
我一直在 Goog 上搜索,但由于技术发展如此之快,我的所有结果似乎都已过时(拂去灰尘)。 我正在寻找 MVC 的 Razor 路线图。我知道它进行了预览,但我想知道完整版本。我真的很想开始使用 Ra
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭10 个月前。 Improve this que
Microsoft 是否有任何计划发布具有原生 Cordova 7、Node 4.x 支持的 Taco Update 11? 自 last update 以来,Taco 是否仍然是一个活跃的项目?是两
KDE 开发者 Nate Graham 近日公布了 KDE 桌面在 2022 年的开发路线图,列出了这个由社区驱动的开源桌面环境今年的主要开发工作。与以往公布的路线图一样,这不是一份正式的承诺,这只
我是一名优秀的程序员,十分优秀!