`

Android GoogleMap Overlay (图层标记)

阅读更多
写一个类继承ItemizedOverlay
package cn.fn;

import java.util.ArrayList;
import android.app.AlertDialog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

public class CustomItemizedOverlay extends ItemizedOverlay<OverlayItem> {

private ArrayList<OverlayItem> mapOverlays = new ArrayList<OverlayItem>();
private Context context;

public CustomItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}

public CustomItemizedOverlay(Drawable defaultMarker, Context context) {
this(defaultMarker);
this.context = context;
}

@Override
protected OverlayItem createItem(int i) {
return mapOverlays.get(i);
}

@Override
public int size() {
return mapOverlays.size();
}

@Override
protected boolean onTap(int index) {
OverlayItem item = mapOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}

public void addOverlay(OverlayItem overlayItem) {
mapOverlays.add(overlayItem);
this.populate();
}

}


MainActivity  取MapView 进行设置

package cn.fn;

import java.util.List;

import android.graphics.drawable.Drawable;
import android.os.Bundle;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;


public class TextActivity extends MapActivity {
   
    private MapView mapView;

    private static final int lat1 = 39984881;
    private static final int lon1 = 116337044;

    private static final int lat2 = 39977293;
    private static final int lon2 = 116353089;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
       
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        mapView = (MapView) findViewById(R.id.myMapView); 
        mapView.setStreetView(true);
        mapView.setTraffic(true);
        mapView.setBuiltInZoomControls(true);
       
        List<Overlay> mapOverlays = mapView.getOverlays();
        Drawable drawable = this.getResources().getDrawable(R.drawable.hua);
        CustomItemizedOverlay itemizedOverlay = new CustomItemizedOverlay(drawable, this);
       
        itemizedOverlay.addOverlay(new OverlayItem(new GeoPoint(lat1, lon1), "HaHa", "HaHa"));
        itemizedOverlay.addOverlay(new OverlayItem(new GeoPoint(lat2, lon2), "HaHa", "HaHa"));
        mapOverlays.add(itemizedOverlay);
       
        MapController mapController = mapView.getController();
        //定位到显示的位置
        mapController.animateTo(new GeoPoint(locallat, locallon));
        mapController.setZoom(15);
       
    }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }
   
}



提示:这个现在还有一个问题就是加太多的话就会
分享到:
评论

相关推荐

    Android google map自定义图层

    在Android开发中,Google Maps API 是一个非常强大的工具,它允许开发者将地图集成到应用程序中,提供导航、定位、标记等功能。本篇我们将探讨如何在Android应用中实现自定义图层,具体是通过`CustomItemizedOverlay...

    android地图使用overlay添加标记

    本教程将聚焦于如何利用`Overlay`类在Google地图上添加标记,这将帮助我们为用户提供直观的位置指示或者信息展示。`Overlay`是Android SDK中用于在地图上绘制图形或文本的对象,它允许我们在地图上添加自定义的图标...

    轨迹记录 android google map 应用

    "android"标签表明了这是关于Android平台的开发内容,而"googleMap"则指明了主要涉及Google Maps服务。在Android应用中集成Google Maps,开发者需要在Google Cloud Console创建项目,获取API密钥,然后在...

    googlemap谷歌地图标记拖动选择多选

    本篇将详细探讨"googlemap谷歌地图标记拖动选择多选"这一主题,以及如何利用Google Maps API实现这一功能。 首先,我们要理解"标记(Marker)"在谷歌地图中的概念。标记是Google Maps API中用于在地图上显示特定...

    Android google Map入门

    ### Android Google Map 入门详解 #### 一、准备工作 要想成功地开发一款基于Google Maps的应用程序,首先需要确保你的开发环境已经准备妥当。这包括申请必要的API密钥、设置正确的开发环境以及确保所有所需的组件...

    googlemap 添加标记 并有气泡效果

    public void onMapReady(GoogleMap googleMap) { GoogleMap map = googleMap; // 设置地图类型、缩放级别等 } }); ``` 要添加标记,我们可以使用`MarkerOptions`对象。例如,要在地图中心添加一个标记: ```...

    Android google Map地图学习

    此资料包含 Android学习笔记 - 地图.doc 通过地名获得经纬度并标识在地图上.doc 点中overlay弹出带尾巴的气泡的实现.doc ...android map.doc Android地图和定位学习总结 .doc 希望对大家有帮助。。。。

    [zip文件] Android Google Map 源码_轨迹回放 优化版本

    最新版本的Android Google Map 轨迹回放源码, 可以用Google Map实现gps动态导航的功能. 参看博客地址:http://blog.csdn.net/ostrichmyself/article/details/6821112, 修正两个问题: 1. 不能重复播放 2. 拖动才能...

    Android-Google-Map-APi.doc.zip_android_google map android

    **Android谷歌地图API** 在Android应用开发中,Google Maps API是一个至关重要的组件,它允许开发者在应用程序中集成谷歌地图的功能,提供丰富的地理位置服务。本文档将深入探讨Android Map API v1,这一版本虽然已...

    android写的google map api 应用

    5. **添加标记和覆盖物**:通过`GoogleMap`对象,可以添加自定义的标记(Marker)或者覆盖物(Overlay)到地图上,展示特定的位置信息或提供交互功能: ```java MarkerOptions markerOptions = new MarkerOptions...

    google map api开发源代码

    开发者可以通过调用API提供的各种方法和事件来实现自定义的功能,如添加标记、信息窗口、覆盖图层等。 源代码中可能包含了以下关键知识点: 1. **初始化地图**:在网页中加载地图首先要进行初始化,设置地图的中心...

    React-GoogleMap:在ReactJS中使用Google Map的演示

    GoogleMap组件是地图的基础,Marker则用于在地图上显示标记。`withGoogleMap`和`withScriptjs`是高阶组件,用于处理Google Maps API的加载和错误处理。 接下来,我们需要设置一个Google Maps API密钥,这可以从...

    百度地图android sdk拖拽overlay item

    在百度地图Android SDK中,Overlay Item通常表示地图上的一个特定标记或图标,例如用户的位置、兴趣点等。拖拽功能允许用户通过手指操作移动这些标记,这在需要动态调整位置或进行交互式操作的场景下非常有用。 ...

    谷歌地图Google Map API V3中文开发文档

    谷歌地图 Google Map API V3 中提供了多种图层,例如自行车图层、FusionTables 图层、KML 图层等。开发者可以使用这些图层来在地图上显示不同的信息。 十一、街景视图 街景视图是谷歌地图 Google Map API V3 中的...

    google map开发经验分享

    总之,Android上的Google Map开发涉及到地图基础设置、自定义图层的创建和基站定位技术的运用。理解并掌握这些知识点,能帮助开发者构建功能丰富的地理位置应用,提供更好的用户体验。在实践中,不断优化和调整,...

    Android 高德地图自定义点聚合marker图片及Overlay点击选中功能

    在地图上,当大量标记(Marker)聚集在一个区域时,为了提高用户体验和视觉效果,我们会采用点聚合技术,将相近的标记合并为一个更大的图标,显示数量或代表类别。自定义点聚合Marker图片意味着我们可以根据自己的...

    Android 高德地图图层效果源码.zip

    - 地图图层管理:高德地图允许开发者添加自定义图层,例如叠加覆盖物(Overlay)来显示阴影效果。这可能涉及`MapView`的`addOverlay`方法。 - 数据获取:若提示信息需要从服务器获取,开发者需要实现网络请求,如...

    google map jsv3 示例

    5. **覆盖物(Overlay)**:除了标记,jsv3还支持自定义覆盖物,例如多边形、圆圈、热力图等,这些可以帮助展示更复杂的地理信息。 6. **路径(Polyline/Polygon)**:对于需要描绘路线或区域的应用,可以使用`...

    Google map

    除了基本的定位和标记,Google地图API还提供了许多高级功能,如覆盖物(Overlay)用于创建多边形、线段等;地理编码API用于地址的解析和反解析;以及距离矩阵API,用于计算多个位置之间的行驶距离和时间。 在实际...

Global site tag (gtag.js) - Google Analytics