在Android Studio中显示半径内两个标记的显示距离,可以通过以下步骤实现:
MapView
或SupportMapFragment
。TextView
或其他合适的控件。以下是一个示例代码,演示如何在Android Studio中显示半径内两个标记的显示距离:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private Marker marker1, marker2;
private TextView distanceTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
distanceTextView = findViewById(R.id.distanceTextView);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// 设置地图类型为普通地图
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
// 设置缩放级别
mMap.moveCamera(CameraUpdateFactory.zoomTo(15));
// 创建标记对象并设置经纬度
LatLng location1 = new LatLng(40.7128, -74.0060);
LatLng location2 = new LatLng(34.0522, -118.2437);
marker1 = mMap.addMarker(new MarkerOptions().position(location1).title("Marker 1"));
marker2 = mMap.addMarker(new MarkerOptions().position(location2).title("Marker 2"));
// 计算两个位置点之间的距离
float[] results = new float[1];
Location.distanceBetween(location1.latitude, location1.longitude,
location2.latitude, location2.longitude, results);
float distance = results[0];
// 将距离显示在界面上
distanceTextView.setText("Distance: " + distance + " meters");
}
}
在上述示例代码中,我们使用了Google Maps Android API来实现地图的显示和标记的添加。计算两个位置点之间的距离使用了Location.distanceBetween()
方法,该方法返回的距离单位为米。最后,将距离显示在界面上的TextView
中。
请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行适当的修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云