SuperMap iMobile for Android 地图添加POI兴趣点

作者:程溯

简介

Demo按类型往地图里添加POI兴趣点,并添加兴趣点的名称(name)与详细信息(detail)。地图上不同类型的POI兴趣点采用不同符号来表示。

示例数据

Data: mypoi.udb、mypoi.udd、mypoi.smwu

关键类型/成员

GeoStyle类

GeoPoint类

Environment类

WorkspaceConnectionInfo类

Map.setWorkspace()方法

MapControl.addGeometryAddedListener()方法

DatasetVector.query()方法

Recordset.edit()方法

Recordset.setGeometry()类

Recordset.setFieldValue()方法

Recordset.update()方法

使用步骤

(1) 将iMobile for android根目录的libs目录下的armeabi目录、com.supermap.data.jar、
com.supermap.mapping.jar拷贝至MyPoi工程目录的libs目录。
(2) elcipse导入MyPoi工程,如果需要,修改工程属性。
(3)需要将数据文件拷贝至android手机或模拟器的指定目录下。
(4) 编译运行程序,通过类型下拉列表选择POI类型,单击“添加”按钮,设置添加操作状态。
(5) 在地图上需要的位置单击,添加兴趣点,添加之后再单击“提交”按钮,提交操作。 在弹出的页面中填写名称和详细信息,单击“添加”按钮返回地图页面,地图窗口中显示了POI的符号和名称。

代码块

MainActivity:


import com.supermap.data.*;
import com.supermap.mapping.*;
import com.supermap.test.R;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.ZoomControls;

public class MainActivity extends Activity implements OnTouchListener,
        GeometryAddedListener {

    private final int REQUEST_INFO = 1001;

    private MapControl mapControl;
    private Workspace workspace;
    private MapView mapView;
    private ZoomControls zoomControls;

    private Spinner spinnerPoiType;

    private Button addButton;
    private Button add;
    private DatasetVector datasetVector;

    private String strSymbolName = "银行";
    private int nSymbolID = 907971;

    private GeometryEvent curEvent;

    private static final String[] types = { "银行", "医院", "小区", "停车场", "商场",
            "公园", "药店", "小区", "餐厅" };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Environment.setLicensePath(getString(R.string.license_path));
        Environment.setTemporaryPath(getString(R.string.temp_path));
        Environment.setWebCacheDirectory(getString(R.string.cache_path));
        Environment.initialization(this);

        setContentView(R.layout.main);

        openData();

        initView();
    }

    private void openData() {

        workspace = new Workspace();
        WorkspaceConnectionInfo info = new WorkspaceConnectionInfo();
        info.setServer(getString(R.string.data_path));
        info.setType(WorkspaceType.SMWU);
        if (workspace.open(info)) {
            mapView = (MapView) findViewById(R.id.mapview);
            mapControl = mapView.getMapControl();
            mapControl.getMap().setWorkspace
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值