1. 程式人生 > >ios ArcGIS雙屏聯動,雙屏顯示功能

ios ArcGIS雙屏聯動,雙屏顯示功能

/**

VectorMap和ImageMap是通過AGSMapView例項出來的物件

**/   

self.VectorMap = [[AGSMapView alloc]initWithFrame:CGRectMake(0, 0, viewWidth/2, viewHeight)];

self.VectorMap.tag = 0;

self.VectorMap.layerDelegate = self;

self.VectorMap.touchDelegate = self;

 [selfaddSubview:self.VectorMap];

self.VectorMap.layer.borderColor = [UIColor zjcChangeFloat:

@"#555555"].CGColor;

self.VectorMap.layer.borderWidth = 0.8;

self.ImageMap = [[AGSMapView alloc]initWithFrame:CGRectMake(viewWidth/2, 0, viewWidth/2, viewHeight)];

self.ImageMap.tag = 1;

self.ImageMap.layerDelegate = self;

self.ImageMap.touchDelegate = self;

  [selfaddSubview:self.ImageMap];

self

.ImageMap.layer.borderColor = [UIColor zjcChangeFloat:@"#555555"].CGColor;

self.ImageMap.layer.borderWidth = 0.8;

//這是影像 和 向量

//        TianMapLayer *TianDiTuLyrimage = [[TianMapLayer alloc]initWithType:TianMapTypeImage2000 localServiceURL:nil];

//        TianMapLayer *TianDiTuLyr_Annoimage = [[TianMapLayer alloc]initWithType:TianMapTypeImageAnnotationChinese2000 localServiceURL:nil];

//        TianDiTuLyrimage.visible = NO;

//        TianDiTuLyr_Annoimage.visible = NO;

//        TianMapLayer *TianDiTuLyrSL = [[TianMapLayer alloc]initWithType:TianMapTypeImage2000 localServiceURL:nil];

//        TianMapLayer *TianDiTuLyr_SL = [[TianMapLayer alloc]initWithType:TianMapTypeImageAnnotationChinese2000 localServiceURL:nil];

//        TianDiTuLyrSL = NO;

//        TianDiTuLyr_SL.visible = NO;

//分別加入到mapView容器中,下面程式碼只顯示加入影響的,向量的我沒寫(方法和影響一樣)

        [self.ImageMap mapLayerForName:@"tiandituimage"].visible = YES;

        [self.ImageMap mapLayerForName:@"image2000"].visible = YES;

//下面才是程式碼的關鍵。

- (void)respondToEnvChanged: (NSNotification*) notification {

    AGSSpatialReference *sccc = [AGSSpatialReference spatialReferenceWithWKID:4490];

    AGSEnvelope *extent = [AGSEnvelope envelopeWithXmin:MM ymin:YY xmax:ZZ ymax:DD spatialReference:sccc];

    [self.VectorMap zoomToEnvelope:extent animated:YES];

    [self.VectorMap zoomToEnvelope:extent animated:YES];

}

- (void)respondToEnvChange: (NSNotification*) notification {

    AGSMapView *mapView = (AGSMapView *)notification.object;

NSInteger mapName = mapView.tag;

CGRect rect = mapView.bounds;

    AGSEnvelope *env = [mapView toMapEnvelope:rect];

if (mapName == 0) {

        [self.ImageMap zoomToEnvelope:env animated:YES];

    }

else

    {

        [self.VectorMap zoomToEnvelope:env animated:YES];

        [self.MapView zoomToEnvelope:env animated:YES];

    }

}


//主控制器裡面新增通知。

        [[NSNotificationCenter defaultCenter] addObserver:self.doubleScreenView selector:@selector(respondToEnvChange:) name:AGSMapViewDidEndPanningNotification object:nil];

// register for zoom notifications  AGSMapViewDidLoadNotification

        [[NSNotificationCenter defaultCenter] addObserver:self.doubleScreenView selector:@selector(respondToEnvChange:)  name:AGSMapViewDidEndZoomingNotification object:nil];

        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(respondToEnvChanged:)  name:AGSMapViewDidLoadNotification object:nil];

        AGSEnvelope *envelope = [[AGSEnvelope alloc]initWithSpatialReference:self.spatialReference];

        [self.doubleScreenView.VectorMap zoomToEnvelope:envelope animated:YES];

        [self.doubleScreenView.ImageMap zoomToEnvelope:envelope animated:YES];


相關推薦

ios ArcGIS聯動顯示功能

/** VectorMap和ImageMap是通過AGSMapView例項出來的物件 **/    self.VectorMap = [[AGSMapView alloc]initWithFrame:CGRectMake(0, 0, viewWidth/2, v

windows鎖程式擊鎖dlock.vbs

----------將下面的程式碼複製儲存為.vbs檔案 Dim WSHShell Set WSHShell=WScript.CreateObject(“WScript.Shell”) WSHShell.Run “Rundll32.exe user32.dll,LockWorkSta

ios視訊播放器封裝(全播放、手勢調節亮度、音量、進度)

今天給大家帶來的是一個基於AVplayer封裝的視訊播放器,支援視訊全屏播放、手勢加減音量,快進後退、調節螢幕亮度、定位視訊播放暫停時刻、實際觀看時間、全屏播放鎖屏等功能。如果需要的話希望能幫到你 , 當然, 有任何不妥的地方 歡迎指正。喜歡的可以關注下我的部落格、我的簡書

C++ 檔案路徑中單斜槓“\”換成斜槓“\\”斜槓“\\”換成單斜槓“\”

C++ 檔案路徑中單斜槓“\”換成雙斜槓“\”,雙斜槓“\”換成單斜槓“\” 1、單斜槓“\”換成雙斜槓“\” //單斜槓轉雙斜槓 void pathConvert_Single2Double(stri

路由器設定路由器上網設定

問:雙路由器上網應該怎麼連線和設定?一個路由器往往不能夠滿足使用需求,需要增加一個路由器,組成雙路由器上網。   第一個路由器按照說明書設定可以正常上網,但是第二個路由器按照常規的設定,卻不能夠實現上網,雙路由器要實現上網應該怎麼設定?   答:實現雙路由器上網時

wheel自定義控制元件實現城市三級聯動時間選擇的功能簡單使用

                對於Android初學者,最煩的就是學習自定義控制元件。原生的控制元件不是醜就是無法滿足需求,不得以我們只好自己重寫控制元件的方法,下面我就為大家介紹一下某大神自定義的wheel控制元件Android滾輪控制元件,基於ListView實現,可以自定義樣式。,此控制元件可以實現

ios 載入本地HTML檔案圖片不顯示的問題

第一種方式匯入HTML檔案的時候,要用這種方法:   NSString *path = [[NSBundle mainBundle] pathForResource:@"檔名" ofType:@"html"];     NSString *html = [NSStrin

ArcGIS API for JavaScript實現地圖聯動

使用ArcGIS API for JavaScript,可以很方便的實現地圖聯動。最簡單的方式是藉助Map物件的extent-change 事件,當然,也可以藉助zoom-end、pan-end、mouse-drag-end等事件,本文使用第一種方式,實現地圖的平移聯動、滑

最新用WPF為觸摸寫了一個手寫程序格輸入的

nload size alt wpf 一個 ast 點擊 fill fonts 原文:最新用WPF為觸摸屏寫了一個手寫程序,雙格輸入的 雙格輸入可以提高手寫速度,當前字寫完以後

顯示屏左邊有一塊黑邊我的辦法

(KK_DDj 原創) 顯示屏左邊有一塊黑邊,解決方法 環境描述: 雙屏,且兩個顯示屏不一樣(都是 1 k,具體啥不一樣我也不清楚),無意之中,按了副屏的 AUTO 按鈕,副屏左邊出現黑邊,全屏顯示軟體有問題。解析度顯示也醜。 解決方式:副屏按鈕【選單】-【設定】-【復位】-【是】。

pos機異顯專案 --- 在密碼解鎖或設定密碼時顯示顯示張圖片

雙屏異顯專案 ,在密碼解鎖時,副屏也會同步顯示密碼,為了使用者的密碼安全,副屏解鎖時,副屏亮度調為0;(鎖屏介面getActivity()不能使用,暫時只能調節副屏亮度為0來解決) 另外,在設定中設定密碼時,副屏也會同步顯示設定的密碼,此時讓副屏顯示一張圖片。(這種方式比較簡單) 以

緩衝技術解決方案之一:儲存所有要繪製內容重繪

package com.loaderman.customviewdemo; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import androi

unity控制相機實現旋轉縮放——觸版(單指控制旋轉結束有慣性滑動指控制縮放根據手指間距離變化程度控制縮放程度)

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour {     public float pinch

線上線下聯動小程序電商…今年11“前戲”跟去年有啥不同?

城市 騰訊 阿裏巴巴 聯合 com 零售 解決 app 電影院 年年歲歲“雙11”,歲歲年年“戲”不同。顯然,“新零售”成為今年最大的一個分水嶺。      不論主動出擊,還是被動應戰。2017年是新零售元年,電商巨頭們都非常默契地將今年打造成新零售的閱兵式

vue+webpack專案在iOS微信端偶爾出現白重新整理又能重新進入的解決方案在Android上不會出現

           問題描述:微信公眾號內部的專案,我使用的是vue+webpack的方式,路徑配置正確的情況下,在Chrome上執行正常,執行npm run build放在測試伺服器上,配置好相應入口,通過微信訪問,在Android機

IOS初學-簡單的手勢操作(單點長按)

手勢之前先來個旋轉。其它的簡單動畫同理 對檢視進行旋轉操作 func test8() {         let view1=UIView(frame: CGRect(x: 50, y: 150, width: 200, height: 50));

C語言 緩衝控制檯防閃技術

  對於這個東西相信大家非常陌生,因為現在除了學“C語言”和“資料結構”這些基礎課程的大學生,基本沒人會用到控制檯了。哪怕是用到,也不會關心它閃不閃屏的問題。   但在一種特殊的情況下需要用到,那就是寫“貪吃蛇”這個遊戲的時候……   貪吃蛇遊戲的設計原理

Java 把畫圖和投分開 不用緩衝解決螢幕閃爍問題

投屏模組——MyCanvas類 運用裡面的getImageAndPrintIt(BufferedImage bufferedImage)方法實現投屏,bufferedImage是提前畫好的圖片。 也就是說,只讓Canvas實現投屏功能,把畫圖功能分離出去。 package madokas

作業系統的shell是個什麼東西?(也談為什麼擊.exe後黑閃一下就消失)

         我們經常聽到別人說shell, 那麼究竟什麼是shell呢?先複習兩個簡單的單詞吧: core  :  核心 shell : 外殼          在計算機中,shell是一個軟體(此處的shell跟shell sort沒有關係),沒有重量,沒有味道,

React Native Reload(擊R) 紅 Could not connect to development server

如圖所示,Reload 或者雙擊R後,出現大紅屏。 總結一下,問題主要出現在下面三個方向。 檢查一下,package是否正常執行。 看一下是否忘記啟動package,或者提供了錯誤的監聽埠。 看一下埠號是否和你的run-android命令的埠號一樣。 如果是這裡的問題,