POST
|
I see. Works like a charm. Thanks a lot for your help
... View more
04-10-2019
08:26 AM
|
0
|
0
|
1655
|
POST
|
Robert, thanks a lot for you prompt answer, So, are you ignoring the response sent by locationToAddress and use the reverseGeocode API instead?
... View more
04-08-2019
02:27 PM
|
0
|
2
|
1655
|
POST
|
here is a full portion. Basically for a point that is at 22.297386, 114.173816 i display a circle on my map as well as some information about the address taken from evtl.address that i distribute into some html elements (last part) These information come always in native language, while i'd need the English/Transliterated version instead var map, tb; require([ "esri/map", "esri/dijit/BasemapGallery", "esri/tasks/locator", "esri/layers/FeatureLayer", "esri/layers/VectorTileLayer", "esri/layers/ArcGISDynamicMapServiceLayer", "esri/layers/ImageParameters", "esri/geometry/webMercatorUtils", "esri/InfoTemplate", "esri/dijit/Basemap", "esri/dijit/BasemapLayer", "esri/geometry/Point", "esri/SpatialReference", "esri/toolbars/draw", "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol", "esri/symbols/PictureFillSymbol", "esri/symbols/CartographicLineSymbol", "esri/graphic", "esri/layers/GraphicsLayer", "esri/graphicsUtils", "esri/dijit/BasemapToggle", "esri/dijit/Search", "esri/Color", "dojo/dom", "dojo/on", "dojo/domReady!" ], function ( Map, BasemapGallery, Locator, FeatureLayer, VectorTileLayer, ArcGISDynamicMapServiceLayer, ImageParameters, webMercatorUtils, InfoTemplate, Basemap, BasemapLayer, Point, SpatialReference, Draw, SimpleMarkerSymbol, SimpleLineSymbol, PictureFillSymbol, CartographicLineSymbol, Graphic, GraphicsLayer, graphicsUtils, BasemapToggle, Search, Color, dom, on ) { var lat = '22.297386'; var lng = '114.173816'; map = new Map("mapDiv", { basemap: "hybrid", center: [lng, lat], zoom: 17, slider: true, infoWindow: false }); var locator = new Locator("https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"); var infoTemplate = new InfoTemplate("Location", "Address: ${Address}"); var symbol = new SimpleMarkerSymbol( SimpleMarkerSymbol.STYLE_CIRCLE,12, new SimpleLineSymbol( SimpleLineSymbol.STYLE_NULL, new Color([255, 0, 0, 2]),1 ), new Color([255, 0, 0, 2]) ); map.on('load', function () { var pt = new Point(lng, lat); locator.locationToAddress(pt, 100); var sms = new SimpleMarkerSymbol().setStyle( SimpleMarkerSymbol.STYLE_CIRCLE).setColor( new Color([255, 0, 0, 2])); var graphic = new Graphic(pt, sms); map.graphics.add(graphic); }); locator.on("location-to-address-complete", function(evtl) { if (evtl.address.address) { console.log(evtl.address); address = evtl.address.address; var whereToAddr = document.getElementById("addr"); whereToAddr.value = address.Address; var whereToCity = document.getElementById("City"); whereToCity.value = address.City; var whereToCounty = document.getElementById("County"); whereToCounty.value = address.Subregion; var whereToState = document.getElementById("State"); whereToState.value = address.Region; var whereToPostal = document.getElementById("Postal"); whereToPostal.value = address.Postal; var whereToCountry = document.getElementById("Country"); whereToCountry.value = address.CountryCode; var whereToMetro = document.getElementById("Metro"); whereToMetro.value = address.MetroArea; var whereToNeighbrhd = document.getElementById("Neighbrhd"); whereToNeighbrhd.value = address.Neighborhood; var whereToType = document.getElementById("Type"); whereToType.value = address.Type; var whereToCorrect = document.getElementById("Correct"); whereToCorrect.value = address.LongLabel; } }); });
... View more
04-08-2019
10:45 AM
|
0
|
4
|
1655
|
POST
|
The reverse geocode API seems to have a langCode parameter, so i assumed locationToAddress would have one. My machine is a US one, but still i get JApanese addresses in Japanese characters or Chinese ones in Chines characters
... View more
04-04-2019
06:42 AM
|
0
|
6
|
1655
|
POST
|
Where/how do i specify i want the response with English (or at least translieterated) fields using locationToAddress ? var locator = new Locator("https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"); var infoTemplate = new InfoTemplate("Location", "Address: ${Address}"); ....code locator.on("location-to-address-complete", function(evtl) { if (evtl.address.address) { ...code } }); I found how to do so with the API call, but not in javascript like this, can someone please put me on the right tracks? thanks
... View more
04-03-2019
01:31 PM
|
0
|
8
|
1829
|
POST
|
Thank youDan Patterson and John Grayson , you brought me to the right path and help me understand the problem here. Actually I decided to handle this with Javascript and stay away from ArcGis functions, but still decomposing the polygons as you both explained. It may not be as elegant as your code but it works fine: I load each single ring, add some attributes on the fly (id and type), then once loaded i can grab the type and id from the click (and the graphic geometry) to delete the string from the SQL record: function addPolygon(){
var index, len;
var gra = [];
var polygonExplode = polygon.split("]],[[");
if(polygonExplode.length > 1) {
for(index = 0, len = polygonExplode.length; index < len; ++index){
var singleRingPolygon = new Polygon (JSON.parse(polygonExplode));
gra[index] = new Graphic(singleRingPolygon, sfs);
gra[index].ZIndex = 3;
gra[index].PolygonId = index;
gra[index].type = "1";
map.graphics.add(gra[index]);
}
}
......
map.graphics.on("mouse-down", function(evt){
if(evt.which == 3) {
polygonID = evt.graphic.PolygonId;
polygonString = JSON.stringify(evt.graphic.geometry.rings);
btype = evt.graphic.type;
.......
}
... View more
10-31-2018
11:24 AM
|
0
|
0
|
1889
|
POST
|
Thanks a lot to you and John Grayson for explanations, i'm gonna try to figure this out and get back here to let you know
... View more
10-30-2018
05:41 AM
|
0
|
0
|
1889
|
POST
|
Thanks for your reply, the number of records for my polygons are dictated by the database model, which is based on uniqueness (easier to maintain and keep clean). Also other datasets opted for unique multi-polygon records, for instance Census has a unique multipolygon record for the town of Charleston, SC which is an aggregation of smaller shapes sometimes disconnected from each other. Since my database is constructed around those open data sets, i need to keep consistency in the way i store the data. I am trying to wrap my head around what you are saying: Should i deconstruct the multi polygon into single parts layers before loading the graphics on the page? then let the users do their stuff and reconstruct it again before saving it back to SQL?
... View more
10-29-2018
05:49 PM
|
0
|
2
|
1889
|
POST
|
This is my very first question, so please forgive me if i'm not using best practice... here is my question: I have an web app where people can draw polygons over a basemap (html based), the polygons are then stored in my sql server database as a WKT string ("MULTIPOLYGON(((lat long, lat long, lat long, ...)),((lat long, lat long, lat long, ...)), ...)"). Which means one multipolygon string has many sub-polygons which display as different shapes on the screen when the page re-loads. Is there a way to click on one shape and identify which sub-polygon is being clicked (the goal is to be able to delete it from sql if shape was incorrectly done)? e.g. the bold string below, being sub-polygon number 2 of the multipolygon (also shown on the image i attached): MULTIPOLYGON (((-74.4897049011512 40.802801297423777, -74.489796096257678 40.802841904076779, -74.489778661899081 40.802862207393964, -74.489690149001618 40.80282160075339, -74.4897049011512 40.802801297423777)), ((-74.489702550924846 40.802796180105481, -74.489713279760892 40.8027789222691, -74.489821909225967 40.802829680598578, -74.4898071570764 40.802835771595511, -74.489702550924846 40.802796180105481))) I was thinking something like getting the coordinates of the click and check if it falls inside any of the sub-polygon, but i am having a hard time trying to do it, and was wondering if ArcGis API had already something existing. thanks Dan.
... View more
10-29-2018
11:33 AM
|
0
|
7
|
2341
|
Online Status |
Offline
|
Date Last Visited |
12-11-2020
10:36 PM
|