Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

Commit

Permalink
Merge pull request #450 from Esri/philium/query-map-image-sublayer
Browse files Browse the repository at this point in the history
Adds Query a Map Image Sublayer sample
  • Loading branch information
philium committed Jul 30, 2018
2 parents baf3852 + d5e7c3d commit 3fd4f72
Show file tree
Hide file tree
Showing 7 changed files with 409 additions and 0 deletions.
18 changes: 18 additions & 0 deletions arcgis-ios-sdk-samples.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,9 @@
3EFDE0FA1E36AE3100CBCD92 /* FeatureCollectionLayerQueryVC.swift in CopyFiles */ = {isa = PBXBuildFile; fileRef = 3EFDE0F41E36ABB700CBCD92 /* FeatureCollectionLayerQueryVC.swift */; };
4C2B52D620D2C1810071EBB6 /* URL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2B52D520D2C1810071EBB6 /* URL.swift */; };
4C2B52D720D2C3180071EBB6 /* DistanceMeasurementAnalysisViewController.swift in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CCE7BD520D2BD34001238F5 /* DistanceMeasurementAnalysisViewController.swift */; };
4C66AAF72107C4F400EE6346 /* QueryMapImageSublayer.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4C66AAF62107C4F400EE6346 /* QueryMapImageSublayer.storyboard */; };
4C66AAF92107C50B00EE6346 /* QueryMapImageSublayerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C66AAF82107C50B00EE6346 /* QueryMapImageSublayerViewController.swift */; };
4C66AAFA2107CCE300EE6346 /* QueryMapImageSublayerViewController.swift in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4C66AAF82107C50B00EE6346 /* QueryMapImageSublayerViewController.swift */; };
4C72117020BF444C004A7DD9 /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C72116E20BF444C004A7DD9 /* SVProgressAnimatedView.m */; };
4C72117320BF4457004A7DD9 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C72117220BF4457004A7DD9 /* SVRadialGradientLayer.m */; };
4C85044920F4239600E37F43 /* SceneLayerSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C85044820F4239600E37F43 /* SceneLayerSelectionViewController.swift */; };
Expand Down Expand Up @@ -581,6 +584,7 @@
dstSubfolderSpec = 7;
files = (
E476AB0120F69FCA00BCE59F /* ListTransformationsViewController.swift in CopyFiles */,
4C66AAFA2107CCE300EE6346 /* QueryMapImageSublayerViewController.swift in CopyFiles */,
215E23D72102473E001DE092 /* SpatialRelationshipsViewController.swift in CopyFiles */,
D9F479C120F3E56F00044479 /* FeatureLayerShapefileViewController.swift in CopyFiles */,
124FAF3620E6C6E900F96548 /* GeodesicOperationsViewController.swift in CopyFiles */,
Expand Down Expand Up @@ -1091,6 +1095,8 @@
3EFDE0F31E36ABB700CBCD92 /* FeatureCollectionLayerQuery.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = FeatureCollectionLayerQuery.storyboard; sourceTree = "<group>"; };
3EFDE0F41E36ABB700CBCD92 /* FeatureCollectionLayerQueryVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeatureCollectionLayerQueryVC.swift; sourceTree = "<group>"; };
4C2B52D520D2C1810071EBB6 /* URL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URL.swift; sourceTree = "<group>"; };
4C66AAF62107C4F400EE6346 /* QueryMapImageSublayer.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = QueryMapImageSublayer.storyboard; sourceTree = "<group>"; };
4C66AAF82107C50B00EE6346 /* QueryMapImageSublayerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueryMapImageSublayerViewController.swift; sourceTree = "<group>"; };
4C72116E20BF444C004A7DD9 /* SVProgressAnimatedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVProgressAnimatedView.m; sourceTree = "<group>"; };
4C72116F20BF444C004A7DD9 /* SVProgressAnimatedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVProgressAnimatedView.h; sourceTree = "<group>"; };
4C72117120BF4456004A7DD9 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVRadialGradientLayer.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2212,6 +2218,7 @@
127E11D41FD0C3F8002CBD12 /* WMTS layer */,
1259FB8F1FD295C90037105E /* WMS layer (URL) */,
4CC00F7220C1FAA8004244EF /* Style WMS layers */,
4C66AAF52107C4BB00EE6346 /* Query a map image sublayer */,
D97B7E391FD9BE0500E1239D /* Symbolize shapefile */,
);
path = Layers;
Expand Down Expand Up @@ -2730,6 +2737,15 @@
path = Foundation;
sourceTree = "<group>";
};
4C66AAF52107C4BB00EE6346 /* Query a map image sublayer */ = {
isa = PBXGroup;
children = (
4C66AAF62107C4F400EE6346 /* QueryMapImageSublayer.storyboard */,
4C66AAF82107C50B00EE6346 /* QueryMapImageSublayerViewController.swift */,
);
path = "Query a map image sublayer";
sourceTree = "<group>";
};
4C85044720F4236B00E37F43 /* Scene layer selection */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -3208,6 +3224,7 @@
3E1E5EF11D9F0D0C00F4913C /* HorizontalPicker.xib in Resources */,
3EABC7AE1DB17B2C00C161C6 /* Shasta.tfw in Resources */,
21D919951FE1F368006EA79A /* ExpandableTableViewImages.xcassets in Resources */,
4C66AAF72107C4F400EE6346 /* QueryMapImageSublayer.storyboard in Resources */,
4CC00F7620C1FAE5004244EF /* StyleWebMapServiceLayer.storyboard in Resources */,
1259FB921FD295C90037105E /* WMSLayerUsingURL.storyboard in Resources */,
3E0B585A1E36D8D300951767 /* SpatialOperations.storyboard in Resources */,
Expand Down Expand Up @@ -3372,6 +3389,7 @@
3E0B584E1E36BCCD00951767 /* HotspotSettingsViewController.swift in Sources */,
3E41DD771B9F5C6C00DA11CC /* DeleteFeaturesViewController.swift in Sources */,
1259FB931FD295C90037105E /* WMSLayerUsingURLViewController.swift in Sources */,
4C66AAF92107C50B00EE6346 /* QueryMapImageSublayerViewController.swift in Sources */,
3ED028F81B8E3AA500ACA70D /* ManualCacheViewController.swift in Sources */,
3E1E5EE51D9F08ED00F4913C /* HillshadeRendererVC.swift in Sources */,
3ED029291B8E3AB300ACA70D /* GORenderersViewController.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,14 @@
<key>descriptionText</key>
<string>Shows how to change the style of a WMS layer.</string>
</dict>
<dict>
<key>displayName</key>
<string>Query a map image sublayer</string>
<key>storyboardName</key>
<string>QueryMapImageSublayer</string>
<key>descriptionText</key>
<string>This sample demonstrates how to execute an attribute and spatial query on the sublayers of an ArcGIS map image layer.</string>
</dict>
<dict>
<key>displayName</key>
<string>Symbolize shapefile</string>
Expand Down
5 changes: 5 additions & 0 deletions arcgis-ios-sdk-samples/Extensions/Foundation/URL.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ extension URL {
/// The url of the image service for elevation in Brest, France.
static let brestElevationService = URL(string: "https://scene.arcgis.com/arcgis/rest/services/BREST_DTM_1M/ImageServer")!

// Map Services

/// The url of a map service containing sample data of the United States.
static let unitedStatesMapService = URL(string: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer")!

// Scene Services

/// The url of the scene service for buildings in Brest, France.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="rtM-Ml-JFc">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Query Map Image Sublayer View Controller-->
<scene sceneID="A23-Wi-nqR">
<objects>
<viewController id="rtM-Ml-JFc" customClass="QueryMapImageSublayerViewController" customModule="arcgis_ios_sdk_samples" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="1s2-zU-GzG">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GRd-ve-5Cj" customClass="AGSMapView">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
<visualEffectView opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PCv-05-Nj0">
<rect key="frame" x="8" y="28" width="359" height="46"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="cgR-8z-ZuK">
<rect key="frame" x="0.0" y="0.0" width="359" height="46"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Population 2000 &gt;" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Jkh-zh-w1R">
<rect key="frame" x="8" y="8" width="293" height="30"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no" keyboardType="numberPad" returnKeyType="done" smartDashesType="no" smartInsertDeleteType="no" smartQuotesType="no"/>
<connections>
<outlet property="delegate" destination="rtM-Ml-JFc" id="xVF-g1-7SJ"/>
</connections>
</textField>
<button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9Co-ma-VW1">
<rect key="frame" x="309" y="7" width="42" height="30"/>
<state key="normal" title="Query"/>
<connections>
<action selector="query:" destination="rtM-Ml-JFc" eventType="touchUpInside" id="T1j-k2-zy8"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="bottomMargin" secondItem="Jkh-zh-w1R" secondAttribute="bottom" id="LKR-lZ-U0K"/>
<constraint firstItem="Jkh-zh-w1R" firstAttribute="top" secondItem="cgR-8z-ZuK" secondAttribute="top" constant="8" id="YN3-CA-wLR"/>
<constraint firstItem="Jkh-zh-w1R" firstAttribute="leading" secondItem="cgR-8z-ZuK" secondAttribute="leading" constant="8" id="bfk-XV-0wb"/>
<constraint firstAttribute="trailing" secondItem="9Co-ma-VW1" secondAttribute="trailing" constant="8" id="mD0-5h-N5A"/>
<constraint firstItem="9Co-ma-VW1" firstAttribute="leading" secondItem="Jkh-zh-w1R" secondAttribute="trailing" constant="8" symbolic="YES" id="qdO-qC-e0w"/>
<constraint firstItem="9Co-ma-VW1" firstAttribute="baseline" secondItem="Jkh-zh-w1R" secondAttribute="baseline" id="uj5-IP-LdB"/>
</constraints>
</view>
<constraints>
<constraint firstAttribute="width" constant="320" id="yRN-Zc-fjK"/>
</constraints>
<blurEffect style="prominent"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="10"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<variation key="default">
<mask key="constraints">
<exclude reference="yRN-Zc-fjK"/>
</mask>
</variation>
<variation key="widthClass=regular">
<mask key="constraints">
<include reference="yRN-Zc-fjK"/>
</mask>
</variation>
</visualEffectView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="PCv-05-Nj0" firstAttribute="centerX" secondItem="tHl-D3-0ES" secondAttribute="centerX" id="3an-hL-K9F"/>
<constraint firstItem="GRd-ve-5Cj" firstAttribute="bottom" secondItem="1s2-zU-GzG" secondAttribute="bottom" id="3pI-o2-Oga"/>
<constraint firstItem="tHl-D3-0ES" firstAttribute="trailing" secondItem="PCv-05-Nj0" secondAttribute="trailing" constant="8" id="Boc-3M-kvn"/>
<constraint firstItem="PCv-05-Nj0" firstAttribute="leading" secondItem="tHl-D3-0ES" secondAttribute="leading" constant="8" id="LaZ-N8-i4u"/>
<constraint firstItem="GRd-ve-5Cj" firstAttribute="trailing" secondItem="1s2-zU-GzG" secondAttribute="trailing" id="cVu-Lz-OlW"/>
<constraint firstItem="PCv-05-Nj0" firstAttribute="top" secondItem="tHl-D3-0ES" secondAttribute="top" constant="8" id="cYX-9l-fNW"/>
<constraint firstItem="GRd-ve-5Cj" firstAttribute="top" secondItem="tHl-D3-0ES" secondAttribute="top" id="r9e-Bm-jui"/>
<constraint firstItem="GRd-ve-5Cj" firstAttribute="leading" secondItem="1s2-zU-GzG" secondAttribute="leading" id="zUs-me-eAF"/>
</constraints>
<viewLayoutGuide key="safeArea" id="tHl-D3-0ES"/>
<variation key="default">
<mask key="constraints">
<exclude reference="3an-hL-K9F"/>
</mask>
</variation>
<variation key="widthClass=regular">
<mask key="constraints">
<exclude reference="Boc-3M-kvn"/>
<include reference="3an-hL-K9F"/>
<exclude reference="LaZ-N8-i4u"/>
</mask>
</variation>
</view>
<connections>
<outlet property="mapView" destination="GRd-ve-5Cj" id="5L7-Td-GNw"/>
<outlet property="populationTextField" destination="Jkh-zh-w1R" id="L9i-NY-SMq"/>
<outlet property="queryButton" destination="9Co-ma-VW1" id="zbE-M9-70O"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="s7f-Gi-Rlw" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-143.19999999999999" y="136.28185907046478"/>
</scene>
</scenes>
</document>
Loading

0 comments on commit 3fd4f72

Please sign in to comment.