POST
|
I wrapped my checkbox watcher in an onclick function but you can do it however you want. The key is layer.addTo(map) when checked and map.removeLayer(layer) when not - or do nothing. <input type="checkbox" id="isAgeSelected" class="position" value="isSelected"> map.on("click",function(){ var x = document.getElementById("isAgeSelected").checked; if(x){parks.addTo(map);} else{map.removeLayer(parks);} }); Here is the full code. check the box and lick the map. Then uncheck and click again. <html> <head> <!-- Load Leaflet from CDN--> <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" /> <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script> <!-- Load Esri Leaflet from CDN --> <script src="http://cdn-geoweb.s3.amazonaws.com/esri-leaflet/0.0.1-beta.5/esri-leaflet.js"></script> <style> html, body, #map { width : 100%; height : 100%; } </style> </head> <body> <input type="checkbox" id="isAgeSelected" class="position" value="isSelected"> <div id="map"></div> <script> var map = L.map('map').setView([45.528, -122.680], 13); var gray = L.esri.basemapLayer("Gray"); var street = L.esri.basemapLayer("Streets"); var topo = L.esri.basemapLayer("Topographic"); var baseMaps = { "Gray": gray, "Streets": street, "Topo":topo }; map.on("click",function(){ var x = document.getElementById("isAgeSelected").checked; if(x){parks.addTo(map);} else{map.removeLayer(parks);} }); var parks = new L.esri.FeatureLayer("http://services.arcgis.com/rOo16HdIMeOBI4Mb/arcgis/rest/services/Portland_Parks/FeatureServer/0", { style: function () { return { color: "#70ca49", weight: 2 }; } }); var freight = new L.esri.FeatureLayer("http://services.arcgis.com/rOo16HdIMeOBI4Mb/ArcGIS/rest/services/Portland_Freight_Facillities/FeatureServer/0"); var rail = new L.esri.FeatureLayer("http://services.arcgis.com/rOo16HdIMeOBI4Mb/ArcGIS/rest/services/Portland_Light_Rail_Lines/FeatureServer/0"); var popupTemplate = "<h3>{NAME}</h3>{ACRES} Acres<br><small>Property ID: {PROPERTYID}<small>"; parks.bindPopup(function(feature){ return L.Util.template(popupTemplate, feature.properties) }); var other = L.layerGroup([freight,rail]); var overlay = { "Other":other }; L.control.layers(baseMaps,overlay).addTo(map); </script> </body> </html>
... View more
10-14-2014
09:14 AM
|
0
|
10
|
1768
|
POST
|
Try using a layer control: <html> <head> <!-- Load Leaflet from CDN--> <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" /> <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script> <!-- Load Esri Leaflet from CDN --> <script src="http://cdn-geoweb.s3.amazonaws.com/esri-leaflet/0.0.1-beta.5/esri-leaflet.js"></script> <style> html, body, #map { width : 100%; height : 100%; } </style> </head> <body> <div id="map"></div> <script> var map = L.map('map').setView([45.528, -122.680], 13); var gray = L.esri.basemapLayer("Gray"); var street = L.esri.basemapLayer("Streets"); var topo = L.esri.basemapLayer("Topographic"); var baseMaps = { "Gray": gray, "Streets": street, "Topo":topo }; var parks = new L.esri.FeatureLayer("http://services.arcgis.com/rOo16HdIMeOBI4Mb/arcgis/rest/services/Portland_Parks/FeatureServer/0", { style: function () { return { color: "#70ca49", weight: 2 }; } }).addTo(map); var freight = new L.esri.FeatureLayer("http://services.arcgis.com/rOo16HdIMeOBI4Mb/ArcGIS/rest/services/Portland_Freight_Facillities/FeatureServer/0"); var rail = new L.esri.FeatureLayer("http://services.arcgis.com/rOo16HdIMeOBI4Mb/ArcGIS/rest/services/Portland_Light_Rail_Lines/FeatureServer/0"); var popupTemplate = "<h3>{NAME}</h3>{ACRES} Acres<br><small>Property ID: {PROPERTYID}<small>"; parks.bindPopup(function(feature){ return L.Util.template(popupTemplate, feature.properties) }); var other = L.layerGroup([freight,rail]); var overlay = { "Other":other }; L.control.layers(baseMaps,overlay).addTo(map); </script> </body> </html>
... View more
10-14-2014
08:30 AM
|
0
|
13
|
1768
|
POST
|
You make visible by adding the layer to the map: MyESRIlayer.addTo(map); You should be able to make it invisible by using: map.removeLayer(myESRIlayer)
... View more
10-14-2014
08:00 AM
|
0
|
15
|
1768
|
POST
|
not sure how safe it is, I am protected internally so here is my php and Python examples from my blog. One uses exec() and the other is a python server that does the work. If you can reach the model from your server, you can leave it as a toolbox and use a python script to call the tool (sometimes the model doesnt run properly when exported. I put the code from ESRI on the bottom of the post. Calling Python From PHP: A GIS Example | Architecture and Planning Shapefile Creator Website Using Cherrypy | Architecture and Planning import arcpy # Import custom toolbox arcpy.ImportToolbox("c:/tools/My_Analysis_Tools.tbx") try: # Run tool in the custom toolbox. The tool is identified by # the tool name and the toolbox alias. arcpy.GetPoints_myanalysis("c:/data/forest.shp") except arcpy.ExecuteError: print(arcpy.GetMessages(2))
... View more
10-08-2014
03:58 PM
|
1
|
0
|
549
|
POST
|
In non-GIS file via form, you send a file like this: <form action="/upload" enctype="multipart/form-data" method="post" accept="image/*;caputre=camera"> <input type="file" name="upload" multiple="multiple"><br> <input type="submit" value="Upload"> </form> This is a sample I use for sending images from a computer to the server or opening the camera on a cell phone(so you probably don't need the accept= part unless you want to filter allowed filetype). The server should already be setup to handle the upload. The link you posted says you can upload a zip or map package Zip file (*.mpk, *.lpk) |-- esriinfo (folder) |-- iteminfo.xml (item card) |-- subfolder |-- thumbnail.jpg
... View more
10-07-2014
09:46 AM
|
1
|
0
|
699
|
POST
|
You should be able to just split the string and grab what you need. Maybe you could use toJSON() on the graphic then call the x and y properties of the object (JSON makes it a JavaScript Object).
... View more
10-06-2014
07:58 AM
|
0
|
1
|
1242
|
POST
|
If you have access to your web server you should be able to view the logs(write a script to parse out unique IPs and what they requested). Or sign up for Google Anlaytics, put the code on the bottom of your page and you can log in and see whatever you want. If you are interested in tracking map usage, this is cool - you can track most frequent zoom levels and all kinds of awesomeness: Tracking Slippy Map Analytics — Dustin Sampson on Vimeo
... View more
09-22-2014
09:25 AM
|
0
|
0
|
1064
|
POST
|
But does your config have a toolbar that points to the button by id? if not, then the button will not show up on the toolbar. You need to check your config and see if you have a button and toolbar and that the two are connected.
... View more
09-18-2014
02:25 PM
|
0
|
2
|
386
|
POST
|
To save as a shapefile, you could pass the geometry to a server via AJAX and then write it out. I have an example that uses a single point and returns a shapefile using python. Shapefile Creator Website Using Cherrypy | Architecture and Planning
... View more
09-18-2014
01:38 PM
|
1
|
0
|
434
|
POST
|
What does your config.xml look like. Here is a portion of mine - note the button id showing up in the toolbar too. <Commands> <Button caption="PaulButton" category="PaulAddinPython" class="PaulButtonClass" id="PaulPythonButtonToolFile.button" image="Images\1.PNG" message="Hello Dude" tip="Writes Hi"><Help heading="Hep Heading Stuff">The contents of help</Help></Button> </Commands> <Extensions> </Extensions> <Toolbars> <Toolbar caption="PaulToolbar" category="PaulAddinPython" id="PythonAddIns_addin.PaulPythonToolbar" showInitially="true"><Items><Button refID="PaulPythonButtonToolFile.button" /></Items></Toolbar> </Toolbars> <Menus> </Menus> </ArcMap></AddIn></ESRI.Configuration>
... View more
09-18-2014
12:20 PM
|
0
|
4
|
386
|
POST
|
You say it is taking CSV format and geocoding, so I would think you need: 123 sesame st, albquuerque, nm, 87102 246 beat street, new york, ny, 1234 or whatever format your geocoder requires.
... View more
09-18-2014
12:07 PM
|
1
|
2
|
452
|
POST
|
sure can. HTML <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/> <title>Simple Map</title> <link rel="stylesheet" href="http://js.arcgis.com/3.10/js/esri/css/esri.css"> <link rel="stylesheet" href="layout.css"> <script src="http://js.arcgis.com/3.10/"></script> <script type="text/javascript" src="init.js"></script> <script type="text/javascript" src="other.js"></script> </head> <body> <div id="map"></div> </body> </html> init.js var map; require(["esri/map", "dojo/domReady!"],function(Map) { map = new Map("map", { basemap: "topo", center: [-122.45, 37.75], // longitude, latitude zoom: 13 }); }); CSS html, body, #map { height: 100%; width: 100%; margin: 0; padding: 0; } body { background-color: #FFF; overflow: hidden; font-family: "Trebuchet MS"; } other.js require(["esri/map", "dojo/domReady!"],function(Map) { map.on("click", function(e){ alert("clicked"); }); });
... View more
09-17-2014
03:58 PM
|
1
|
0
|
1302
|
POST
|
doesnt look like it. You can check for the keys in the object using for (var key in graphic){ alert(key+": "+graphic.key);} I don't see any obvious key for an ID.
... View more
09-17-2014
12:59 PM
|
0
|
3
|
730
|
POST
|
And for the geometry graphic.setAttributes({"Name":"arrow","id":theid,"x":graphic.geometry.x,"y":graphic.geometry.y});
... View more
09-17-2014
12:52 PM
|
0
|
0
|
730
|
Title | Kudos | Posted |
---|---|---|
1 | 09-18-2014 01:38 PM | |
1 | 09-17-2014 12:47 PM | |
1 | 09-08-2014 03:32 PM | |
1 | 11-17-2014 07:42 AM | |
1 | 12-01-2014 01:37 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|