- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试让应用程序输入纬度和经度并计算到位置之间的距离并在到标记位置之间绘制多段线但多段线未完成绘制到其他目的地。这是我的代码`
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
private TextView source;
private TextView destination;
private EditText sLatitude1;
private EditText sLongtiude1;
private EditText dLatitude2;
private EditText dLongtiude2;
private Button button;
private GoogleMap mMap;
boolean mapReady = false;
MarkerOptions place1;
MarkerOptions place2;
Location location;
double lati1;
double longi1;
double lati2;
double longi2;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// find text that display distance
textView = (TextView) findViewById(R.id.distance);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
// find edit text and text view
source = (TextView) findViewById(R.id.sourc);
destination = (TextView) findViewById(R.id.destination);
sLatitude1 = (EditText) findViewById(R.id.lat1);
sLongtiude1 = (EditText) findViewById(R.id.long1);
dLatitude2 = (EditText) findViewById(R.id.lat2);
dLongtiude2 = (EditText) findViewById(R.id.long2);
// find button
button = (Button) findViewById(R.id.getDistance);
//在这里我将折线添加到 Onclick
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// find string from edittext
String lat1 = sLatitude1.getText().toString();
// parse string to double
lati1 = ParseDouble(lat1);
String lon1 = sLongtiude1.getText().toString();
longi1 = ParseDouble(lon1);
String lat2 = dLatitude2.getText().toString();
lati2 = ParseDouble(lat2);
String lon2 = dLongtiude2.getText().toString();
longi2 = ParseDouble(lon2);
Log.i("**lat", lat2);
CameraPosition place = CameraPosition.builder()
.target(new LatLng(lati1, longi1))
.zoom(3)
.bearing(6)
.tilt(45)
.build();
flyTo(place);
double xy1 = distanceBetween(new LatLng(lati1, longi1), new LatLng(lati2, longi2));
String distanceis = formatNumber(xy1);
textView.setText(distanceis);
place1= new MarkerOptions().position(new LatLng(lati1,longi1))
.title("i am here").icon(BitmapDescriptorFactory.fromResource(R.drawable.bubble_mask));
place2= new MarkerOptions().position(new LatLng(lati2,longi2))
.title("my destination").icon(BitmapDescriptorFactory.fromResource(R.drawable.bubble_mask));
mMap.addPolyline(new PolylineOptions().geodesic(true)
.add(new LatLng(lati1, longi1))
.add(new LatLng(lati2, lati2)));
// Add a listener for polyline clicks that changes the clicked polyline's color.
mMap.setOnPolylineClickListener(new GoogleMap.OnPolylineClickListener() {
@Override
public void onPolylineClick(Polyline polyline) {
// Flip the values of the red, green and blue components of the polyline's color.
polyline.setColor(polyline.getColor() ^ 0x00ffffff);
}
});
mMap.addCircle(new CircleOptions()
.center(new LatLng(lati1, longi1))
.radius(5000)
.strokeColor(Color.GREEN)
.fillColor(Color.argb(54, 99, 255, 0)));
mMap.addCircle(new CircleOptions()
.center(new LatLng(lati2, longi2))
.radius(5000)
.strokeColor(Color.BLUE)
.fillColor(Color.argb(54, 99, 255, 0)));
mMap.addMarker(place1);
mMap.addMarker(place2);
}
});
}
// mehtod to parse double from string
double ParseDouble(String strNumber) {
if (strNumber != null && strNumber.length() > 0) {
try {
return Double.parseDouble(strNumber);
} catch (Exception e) {
return -1; // or some value to mark this field is wrong. or make a function validates field first ...
}
} else return 0;
}
// get distance
public static Double distanceBetween(LatLng point1, LatLng point2) {
if (point1 == null || point2 == null) {
return null;
}
double vw = SphericalUtil.computeDistanceBetween(point1, point2);
Log.i("distance isby utillib ", String.valueOf(vw));
return vw;
}
private String formatNumber(double distance) {
String unit = "m";
if (distance < 1) {
distance *= 1000;
unit = "mm";
} else if (distance > 1000) {
distance /= 1000;
unit = "km";
}
return String.format("%4.3f%s", distance, unit);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mapReady = true;
mMap = googleMap;}
//不知道为什么不完整
最佳答案
您以错误的方式添加了折线!
mMap.addPolyline(new PolylineOptions().geodesic(true)
.add(new LatLng(lati1, longi1))
.add(new LatLng(lati2, lati2)));
在 lat2,lat2 中添加了一个点!
mMap.addPolyline(new PolylineOptions().geodesic(true)
.add(new LatLng(lati1, longi1))
.add(new LatLng(lati2, longi2)));
关于android - 折线未完成到谷歌地图上的目的地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44303894/
我在哪里可以从 RFCDES 表中获得 RFCOPTIONS 字符串的描述?每个参数的含义是什么? (H=?,N=?,g=?,l=?, ...) 最佳答案 我认为您应该在交易 sm59 中看到: ht
我在导航组件架构中使用底部导航。我想动态更改第一个 fragment 目标。所以我有 Fragment1 和 Fragment2。我想在某些情况下,单击底部导航栏中的第一项打开 Fragment1,在
有没有使用非硬编码 RFC 目的地的好方法? 现在我们的解决方案是检查使用的是哪个系统,然后将目的地分配给一个变量 IF cl_role EQ 'P'. p_dest = 'ESW300'
我能够使目标沿着屏幕顶部随机生成并在屏幕底部消失。唯一的问题是目标每次只能移动到一个固定点。我希望它们移动到屏幕底部的随机点。有任何想法吗?谢谢。 这是代码: -(void)addTarget{ CC
我有一个列表,其中包含推送 View 的行。该 View 有另一个列表,它推送另一个 View 。原来的List,第一个推送的List会随着数据的变化而更新。但是,推送时最后一个 View 不会更新。
我目前正在致力于将 IBM Webshere 应用程序迁移到 Spring Boot。 作为其中的一部分,有一个 MDB 类需要转换为 @JmsListener。该 MDB 有一个监听多个队列的方法。
我需要使用 phpmailer 发送存储在 mysql 数据库中的多封电子邮件,但是当我想执行它时,它返回 500 页错误,我明白问题出在我在其中输入数据时: ->setTo(["'".$row['e
我正在准备环游世界,并且很想知道世界各地的顶级景点有哪些,因此我正在尝试抓取某个地方的顶级目的地。我想最终到达一个国家的顶级地方以及他们最好的景点。最近添加了 Google Destinations
我想用箭头从当前用户位置旋转 ImageView 到以前保存的某个 GPS 位置。我该怎么做? 从 Location.distanceBetween 方法中获取的 Initial Bearing 是否
我希望能够从 application.properties 设置 @JMSlistener 目标 我的代码是这样的 @Service public class ListenerService {
我有一个 View “B”,它有一个带有参数的初始化程序。 struct B: View { let arg: Int init(arg: Int) { self.ar
好的,我们开始吧。我有一个 cocos2d 应用程序,并且有一些目标朝玩家移动。当玩家移动时,我希望他们再次慢慢地将目的地更改为玩家,这样他们就不会只是移动到空旷的空间中。是否可以更改 Sprite
我正在将 OnDestinationChangedListener 附加到我的 Activity 中的 NavController。 它适用于所有 fragment 目标。但是,当我导航到 Activ
我正在通过制作一个定向的表格对我们的表格进行一些 FK 分析 表示 FK 依赖关系的图,然后遍历 图形。在我的代码中,我使用有向图命名所有内容 术语,但我想多说一点 报告中的“用户友好”。 在这种情况
在 SSIS 包中,我将平面文件中的数据导入数据库,执行 sql 查询并将结果导出到 excel 目的地。我的问题是我有一个 convert,cast 语句,它在 sql 中很好,它返回一个值为 HH
我有一个 Spring 应用程序,它需要查找 JMS 目标才能完成工作。根据我们处于开发环境还是系统测试环境,我们将使用不同的 JMS 实现。 (Oracle AQ在系统测试中使用WebLogic,A
我有一个包含三列(原点、目的地、距离)的矩阵,我想用 Pandas 将其转换为原点/目的地矩阵,有没有一种快速方法(lambda、map)可以在不使用 for 循环的情况下执行此操作? 例如(我拥有的
拥有原始的 websocket 实现: @Configuration @EnableWebSocket public class WebSocketConfig implements WebSocke
自从切换到 Storyboard后,我通过以下方式加载了一个 View Controller [self performSegueWithIdentifier:@"identifier" sender
我有一个名为“detailViewController”的 UIViewController。 使用推送转场通过多个不同的转场访问此 View Controller 。 我面临的问题是 detailV
我是一名优秀的程序员,十分优秀!