1. 程式人生 > >SuperMap超圖——點位標註和callout

SuperMap超圖——點位標註和callout

        在操作地圖的時候,我們都需要點選某個點,顯示該點的資訊,點選資訊顯示詳細。在超圖中實現這個目標,我現在理解有兩種方法。

一:在地圖中新增物件選中監聽器,即mMapControl.addGeometrySelectedListener(this);並新增選中動作,即mMapControl.setAction(Action.SELECT);

當在地圖中添加了物件選中監聽器後,新增物件被選中時的監聽。

        //物件選中監聽事件
@Override
public void geometrySelected(GeometrySelectedEvent arg0) {
mMapView.removeAllCallOut();
curID = -1;
curID = arg0.getGeometryID();
Layer layer = arg0.getLayer();
if(layer!=null && layer.getSelection().getCount() > 0){//判斷圖層是否為空,且選擇了物件

Recordset recordset = layer.getSelection().toRecordset();
recordset.moveFirst();
Geometry geoMetry = recordset.getGeometry();
if(geoMetry.getType()==GeometryType.GEOPOINT){//判斷是否選擇了點
GeoPoint geopoint = (GeoPoint) recordset.getGeometry();
if(recordset.getFieldInfos().get("PointName")!=null){//判斷該選擇集是否含有PointName的欄位
String pointName = recordset.getFieldValue("PointName").toString();
if(iscallout){
addCallOut(geopoint, pointName);//顯示標註
}else{
mMapView.removeAllCallOut();

}
}
}
}
}

新增callout

//新增定位標註
private void addCallOutBall(final Point2D point2D,int index,final PointUtil point) {
CallOut callout = new CallOut(TabMainActivity.tabMain);
callout.setStyle(CalloutAlignment.CENTER);
callout.setCustomize(true);
callout.setLocation(point2D.getX(), point2D.getY());
ImageView image = new ImageView(TabMainActivity.tabMain);
if(index==0){
image.setBackgroundResource(R.drawable.start_trans);
}else if(index==1){
image.setBackgroundResource(R.drawable.redball);
}else if(index==2){
image.setBackgroundResource(R.drawable.end_trans);
}
callout.setContentView(image);
//callout的點選事件
callout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
GeoPoint geopoint = new GeoPoint();
geopoint.setX(point2D.getX());
geopoint.setY(point2D.getY());
addCallOut(geopoint, point.getName());
}
});
//新增帶name屬性的callout
mMapView.addCallout(callout);
}

二:通過點選callout重新生成一個callout,並將原來的callout刪除掉。

相關推薦

SuperMap——點位標註callout

        在操作地圖的時候,我們都需要點選某個點,顯示該點的資訊,點選資訊顯示詳細。在超圖中實現這個目標,我現在理解有兩種方法。 一:在地圖中新增物件選中監聽器,即mMapControl.addGeometrySelectedListener(this);並新增選中動

supermap添加SQL server工作空間

super 技術 分享圖片 map 分享 添加 空間服務 http 圖片 添加的空間服務 下一步 打開創建的工作空間 supermap超圖添加SQL server工作空間

SuperMap基礎——開啟地圖

超圖的開啟地圖 1.  配置超圖開發環境的管理類 //Environment開發環境配置的管理類 private voidsetEnvironment() {            // 設定一些系統需要用到的路徑 //設定許可,在初始化介面前驗證許可           

supermap sdx資料庫用sql實現空間查詢

在此介紹用sql對超圖的空間資料庫(sdx)進行空間查詢,優點如下: 1。超圖推薦的方式是用iobject,此方法要引入iobject 2。超圖另一個推薦的方式是用iserver的REST介面,但web介面缺點在於效能一般,尤其是返回資料比較多以及併發頻繁的情況下效能不好  

如何高效地輸出iOSAndroid標註

現在有很多產品為了降低設計成本並保持多平臺體驗的一致性,都以iOS為主做一套互動設計,應用於iOS和Android兩個平臺。但是在標註與切圖的環節,如何高效的與開發對接,似乎並沒有什麼更高明的辦法。很多團隊的做法是先做一套iOS的UI+標註+切圖,再在iOS的基礎上縮放一

Java實現的深度廣度優先遍歷算法

lan 圖結構 廣度搜索 源代碼下載 源代碼 earch isempty 學習 ole 概述: 近期要學習寫網絡爬蟲。所以把圖的深度和廣度搜索都再溫習一下。 圖結構展示: 實現過程: 首先,我們來看看圖結構在代碼中的實現。有三塊邏輯: 1.圖中的節點

ASP.NET MVC 排球計分程序 (七)視代碼一些解釋

script wid new post 添加 scrip lar 我們 獲取 Index 視圖 @{ ViewBag.Title = "Index"; } <html> <head> <title>輸

像拷貝粘貼-使用剪貼板

剪貼板 height 應用程序 select 字符串 alt tap 選擇 3.5 在C#中通過Clipboard類實現,其常用方法有: 1>SetDataObject(object[,bool])--用於將圖像或文本信息發送到剪貼板 2>GetDataObje

關於組態王、梯形、Unity梯形 的知識理解

png 設置 ges 第一個 理解 images img 軟件 一個 1.必須在博圖軟件Step7中運行,組態王和unity才能和PLC進行通信 必須在博圖軟件Step7中運行,組態王和unity才能和PLC進行通信 2.組態王和unity不能讀寫PLC的數

關於Android的margin(當前視與周圍視的距離)padding(當前視與內部內容的距離)

utf mas 關於 roi pad code odi ren cnblogs <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.an

8個震撼的HTML5純CSS3動畫源碼

速度 點陣 的人 現在 升級版 產生 gallery get p s HTML5和CSS3之所以強大,不僅因為現在大量的瀏覽器的支持,更是因為它們已經越來越能滿足現代開發的需要。Flash在幾年之後肯定會消亡,那麽HTML5和CSS3將會替代Flash。今天我們要給大家分享

Android第五十四期 - 超級巨Glide3.7Glide4.1.1優化加載方案全網首發

test本文出自 “梁肖技術中心” 博客,請務必保留此出處http://liangxiao.blog.51cto.com/3626612/1966795Android第五十四期 - 超級巨圖Glide3.7和Glide4.1.1優化加載方案全網首發

canvas學習(一):線條,像變換狀態保存

itl height tar 默認 class limit 方法 星空 stop canvas學習(一):線條,圖像變換和狀態保存 一:繪制一條線段: var canvas = document.getElementById(‘canvas‘) var ctx = can

10個基於jquery的酷動畫教程插件推薦

acp mtp p2p http 個人 存儲 sep hbm lte 在場的幾個人,只有鬼炙的攻擊類型是暗黑魔法,這件裝備給紫韻兒的話,或許能加上一些法力值,但是絕對算得上是浪費,消亡套裝只有在鬼炙身上才能真正的體現價值! 【亡靈水袋】(暗金器)亡靈生物用於存儲生命氣血的容

實驗四 的實現應用 實驗報告 20162305

peek 有關 打印 隊列 廣度 dex 是否 深度優先 遍歷 實驗四 圖的實現和應用 實驗報告 20162305 實驗一 鄰接矩陣實現無向圖 實驗要求 用鄰接矩陣實現無向圖(邊和頂點都要保存),實現在包含添加和刪除結點的方法,添加和刪除邊的方法,size(),isEmp

用 php 實現一個視組件模板引擎——基礎

view content 如何實現 目前 內容 復用 tty 結構 有效 只要不是做後端接口開發和一些作為守護進程之類的服務器腳本,大多數時候都是在和瀏覽器打交道,因此合理組織並展現 html 標簽是最為常見的工作。一般大家使用框架時,都會自帶有一套視圖組件和模板引擎。

2018/2/11 每日一學 無向割頂

return set else 所有 scanf ear .net 存在 sin 割頂和橋:對於無向圖G,如果刪除某個節點u後,連通分量數目增加,則稱u為圖的割頂;如果刪除某條邊後,連通分量數目增加,則稱該邊為圖的橋。 對於連通圖刪除割頂或橋後都會使得圖不再連通。 我們利用

功能架構、信息結構、產品結構的區別繪制方法

功能結構 信息結構 產品結構 互聯網產品 一、功能架構圖 1. 定義 功能結構圖就是以功能模塊為類別,介紹模塊下其各功能組成的圖表,體現了產品功能的同時,也展示了功能的從屬關系。 2. 作用: 產品設計時,輔助思路梳理,避免功能概念模糊、缺失。 3. 註意點: 繪制功能結構時,盡量避免出現信息

使用Django 測試客戶端一起測試視,模板URL

新建 sse unit 實例 list 對象 ack 問題: 打開 Django 測試客戶端 self.client.get(url) 測試客戶端是Django中TestCase類的一個屬性名. 至此已經在網站中可以創建一個清單了。 那麽,現在是可以在uni

一張解析PMP敏捷ACP的區別

ACP PMP 敏捷開發 作者:Tracy 微信:Tracy19890201一張圖解析PMP和敏捷ACP的區別