首先谢谢所有点进这个帖子的朋友。
我这个程序是要在程序的第一个地图界面接收第二个界面传回的坐标,然后给每个点做一个自定义的图钉标记,并且将点连成一条路径。但是路径始终出不来,每个点的标记可以显示出来。代码都是在onActivityResult下,数据接收部分没有问题。
另外我如果在onCreate里定义一个一样的数组,路径可以画出来,在onActivityResult下就不行,是不是哪里少了什么代码。先谢谢大家了
下面是代码if(requestCode==2){
Bundle bundle = intent.getExtras();
if (resultCode==6) {
int i=0;//传过来的是两个浮点数组,这个i为数组长度
double[] xpath=bundle.getDoubleArray("xpath");//取得坐标
double[] ypath=bundle.getDoubleArray("ypath");
i=bundle.getInt("i");//
GeoPoint[] linePoints=new GeoPoint[23];//定义一个坐标数组
for (int j = 0; j < i; j++) {
GeoPoint dian=new GeoPoint((int)(ypath[j]* 1E6),(int)(xpath[j]* 1E6));
OverlayItem overlay = new OverlayItem(dian, "路径",null);
firstOverlay.addOverlay(overlay);//这个是自定义的覆盖物,在每个点的位置做图片标记
linePoints[j]=dian;//将每个点加入linePoints数组中
}
mapView.getOverlays().add(firstOverlay);//加入自定义覆盖物,
// 将点放入几何器
mapView.getController().animateTo(linePoints[0]);
Geometry lineGeometry = new Geometry();//几何容器,直线
lineGeometry.setPolyLine(linePoints);
// 新建一个符号器,并定义
Symbol lineSymbol = new Symbol();
Symbol.Color lineColor = lineSymbol.new Color();
lineColor.red = 255;
lineColor.green = 0;
lineColor.blue = 0;
lineColor.alpha = 50;
lineSymbol.setLineSymbol(lineColor,5);
//构建绘图对象
Graphic lineGraphic = new Graphic(lineGeometry, lineSymbol);
// 新建图形覆盖物并设置图形生动器,
GraphicsOverlay graphicsOverlay = new GraphicsOverlay(mapView);
graphicsOverlay.setData(lineGraphic);
mapView.getOverlays().add(graphicsOverlay);
mapView.refresh();
}
}
百度地图几何覆盖物
我这个程序是要在程序的第一个地图界面接收第二个界面传回的坐标,然后给每个点做一个自定义的图钉标记,并且将点连成一条路径。但是路径始终出不来,每个点的标记可以显示出来。代码都是在onActivityResult下,数据接收部分没有问题。
另外我如果在onCreate里定义一个一样的数组,路径可以画出来,在onActivityResult下就不行,是不是哪里少了什么代码。先谢谢大家了
下面是代码if(requestCode==2){
Bundle bundle = intent.getExtras();
if (resultCode==6) {
int i=0;//传过来的是两个浮点数组,这个i为数组长度
double[] xpath=bundle.getDoubleArray("xpath");//取得坐标
double[] ypath=bundle.getDoubleArray("ypath");
i=bundle.getInt("i");//
GeoPoint[] linePoints=new GeoPoint[23];//定义一个坐标数组
for (int j = 0; j < i; j++) {
GeoPoint dian=new GeoPoint((int)(ypath[j]* 1E6),(int)(xpath[j]* 1E6));
OverlayItem overlay = new OverlayItem(dian, "路径",null);
firstOverlay.addOverlay(overlay);//这个是自定义的覆盖物,在每个点的位置做图片标记
linePoints[j]=dian;//将每个点加入linePoints数组中
}
mapView.getOverlays().add(firstOverlay);//加入自定义覆盖物,
// 将点放入几何器
mapView.getController().animateTo(linePoints[0]);
Geometry lineGeometry = new Geometry();//几何容器,直线
lineGeometry.setPolyLine(linePoints);
// 新建一个符号器,并定义
Symbol lineSymbol = new Symbol();
Symbol.Color lineColor = lineSymbol.new Color();
lineColor.red = 255;
lineColor.green = 0;
lineColor.blue = 0;
lineColor.alpha = 50;
lineSymbol.setLineSymbol(lineColor,5);
//构建绘图对象
Graphic lineGraphic = new Graphic(lineGeometry, lineSymbol);
// 新建图形覆盖物并设置图形生动器,
GraphicsOverlay graphicsOverlay = new GraphicsOverlay(mapView);
graphicsOverlay.setData(lineGraphic);
mapView.getOverlays().add(graphicsOverlay);
mapView.refresh();
}
}
百度地图几何覆盖物
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货