我有一个Android地图应用程序,它跟踪用户位置并将其显示在地图上。我做到这一点,以便有一个标题“你在这里”出现在红色标记的顶部。然而,它并没有独立出现,我必须点击红色标记。我可以点击任何红色标记,标题会移动到前一个并消失。
如何制作它以使其仅显示在最新的红色标记(最新位置)上并且无法删除?向用户显示其当前位置。
速度我把它设置为1.我不知道它是否足够好。当我没有移动时,位置停止更新,但它仍然缓慢且不准确。
public void onLocationChanged(Location myLocation) {
System.out.println("speed " + myLocation.getSpeed());
if(myLocation.getSpeed() > speed)
{
//show location on map.................
//Get latitude of the current location
double latitude = myLocation.getLatitude();
//Get longitude of the current location
double longitude = myLocation.getLongitude();
//Create a LatLng object for the current location
LatLng latLng = new LatLng(latitude, longitude);
//Show the current location in Google Map
googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
//Zoom in the Google Map
googleMap.animateCamera(CameraUpdateFactory.zoomTo(20));
googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).snippet("You are here!").title("You are here!"));
答案 0 :(得分:2)
试试这个: -
Marker pos = googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).snippet("You are here!").title("You are here!"));
而不是
googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).snippet("You are here!").title("You are here!"));
或者 写这个,很容易: -
locationMarker.showInfoWindow();
答案 1 :(得分:1)
你无法通过在Android上使用现有的API来实现这一点,而无需编写大量自定义视图和控件。
有一个很好的库,您可以使用它来自定义地图上的标记。这是从它的网站上取的一个例子。它被称为 android-maps-utils
github上图书馆的链接。
https://github.com/googlemaps/android-maps-utils
该网站,您可以在其中找到视频和其他示例。