在Google地图上的红色标记上的android自动标题

时间:2014-02-12 02:39:00

标签: android google-maps

我有一个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!"));

2 个答案:

答案 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

enter image description here

github上图书馆的链接。

https://github.com/googlemaps/android-maps-utils

该网站,您可以在其中找到视频和其他示例。

http://googlemaps.github.io/android-maps-utils/