POST
|
Has anyone been able to successfully merge two or more line geometries with the JAPI? If so, is there sample code somewhere? The editor widget in the api provides a union tool but that only works for polygons. Interestingly, the doc for the editor widget calls this operation a merge and not a union, but it is just a union of polygons. That's a bit confusing since there is a difference between a merge and union operation. And according to the doc, the geometry service only allows for a union and not a merge like you can do in ArcMap. I'm trying to create a web app that will allow my editors to merge line features. The following older post asked a similar question but it was never answered. http://forums.arcgis.com/threads/47155-Editor-Widget-Union-Tool-and-Polyline-features?highlight=merge+polyline+javascript I would appreciate any insight as to how to do this with JAPI.
... View more
05-05-2014
11:41 AM
|
0
|
2
|
4246
|
POST
|
Not sure if you got your questions answered yet, but here are some suggestions: Connecting to a file geodatabase for querying is similar to connecting to an SDE geodatabase. In your map document that you publish to ArcGIS Server bring in your feature class from the file geodatabase. This will be your connection info to the file geodatabase. Then use the queryTask function in Javascript to point to the url for your mapservice and the layerid number in the map service of the feature class you want to query. The sql query is similar to querying a relational database in SDE. Here is an example of code I use to query for a park name of a feature class stored in a file geodatabase and return the results on the map and zoom to the feature. I'm passing in the park name value from the text that gets entered by the user in the tool. function findPark(value) { var parkQuery; parkName = value; queryTask = new esri.tasks.QueryTask("http://maps.sgcity.org/arcgisweb/rest/services/Features_REP/MapServer/7"); parkQuery = new esri.tasks.Query(); parkQuery.returnGeometry = true; parkQuery.outFields = ["Park_Name"]; var dirty = (new Date()).getTime(); parkQuery.where = "Park_Name='" + parkName + "' AND " + dirty + "=" + dirty; queryTask.execute(parkQuery, zoomRecreationPointFeatureResults); } function zoomRecreationPointFeatureResults(results){ for (var i = 0, il = results.features.length; i < il; i++) { var graphic = results.features; map.centerAndZoom(graphic.geometry, 5); } } Note that in the where clause I'm using a variable called 'dirty'. This is because of a current bug with queries against a file geodatabase using ArcGIS Server 10.1 (I believe this will be fixed for 10.2). This 'dirty' variable simply adds a timestamp to the end of each query that gets passed to the file geodatabase to make each query unique, which avoids the bug so you get accurate results each time you execute the query. Hope this helps.
... View more
06-28-2013
09:23 AM
|
0
|
0
|
328
|
POST
|
The documentation for centerAndZoom states the following: When using an ArcGISTiledMapServiceLayer, the map is zoomed to the level specified. When using a DynamicMapServiceLayer, the map is zoomed in or out by the specified factor. For example, use 0.5 to zoom in twice as far and 2.0 to zoom out twice as far. I'm assuming this means that the map is still supposed to center on the x,y location when using a dynamic service. My map will zoom out but will not center on the location.
... View more
08-10-2012
08:26 AM
|
0
|
0
|
268
|
POST
|
I have a mobile app that only displays simple features from a dynamic map service. I have a button on the map that calls the geolocation functionality that will place a marker on the map of the users current location and then automatically pan to that location by using map.centerAndZoom(pt, 4). But I discovered that if the dynamic service is the only service in the app, the map will not pan to the location (the marker is placed in the right location though, so geolocation is working). But if I place a tiled map service before the dynamic service in my code, then the geolocation works properly and will pan to the location. As a workaround, I have set a tiled service in my code first and just set the opacity of it to 0 so that it doesn't display. This same behavior occurs with geocoding an address on the map. For this my code also uses centerAndZoom to go to the address location on the map. Again, if the dynamic service is first in the code then centerAndZoom doesn't work. Is this expected behavior for centerAndZoom against dynamic map services?
... View more
08-10-2012
08:16 AM
|
0
|
1
|
500
|
POST
|
You can position the slider at the bottom of the map using the following css:
.esriSimpleSlider {
top:90%;
}
Thanks! That's exactly what I needed.
... View more
04-18-2012
10:18 AM
|
0
|
0
|
803
|
POST
|
I want to customize the default map slider that comes with the JSAPI Compact Build but I can't seem to find any information on this. I've tried using esri.config.defaults.map.slider but the only thing I can do with this is to set the width which only turns the slider horizontal. What I'm looking to do is to physically change its position on the map. I have a toolbar across the top of my map and some users are finding it difficult to tap the + to zoom in on the map with mobile devices because the slider is too close to the toolbar and they inadvertently tap a button on the toolbar instead. So I would like to move the slider down some so it's not so close to the toolbar. How do I do this?
... View more
04-18-2012
08:37 AM
|
0
|
9
|
1161
|
POST
|
The only way that the map will display the full width and height of the browser window is if you specify the width and height of the map in pixels and not percentages. For example, the following would set the map to 600 pixels by 600 pixels. <style type="text/css"> #map{ width:600px; height:600px; } </style> But this is a pain because you can only hardcode the dimensions for the map for one device and it will not take into account devices with different screen sizes. But I found the following code that will detect the width and height of the display canvas of your application for the device you are using and automatically adjust the map's dimensions to those calculated numbers. <script language="JavaScript"> function viewPort() { var h = window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight; var w = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth; return { width : w , height : h } } var mapH = viewPort().height+20; var mapW = viewPort().width; $(document).ready(function() { $("#map").css({"width":mapW+"px","height":mapH+"px"}); }); </script> This code only applies to the map's width and height. You still need to set the padding to 0px in the div of your code. <div data-role="content" id="mapcontent" style="padding:0px"> <div id="map"></div> </div> I added 20 additional pixels for the height because I found that on my iOS device the map was just a little short and displayed a small blank area at the bottom of the screen. The additional 20 pixels fills out the map to the full height of the device. I don't know if this extra 20 pixels is required for other devices but it's not significant. I've tested this code on iOS devices and one Android 2.3 phone and it works just fine.
... View more
07-01-2011
07:53 AM
|
0
|
0
|
309
|
POST
|
A user on the jQuery Mobile forum suggested the following: var changeViewport = function () { if (window.orientation == 90 || window.orientation == 270) $('meta[name="viewport"]').attr('content', 'height=device-width,width=device-height,initial-scale=1.0,maximum-scale=1.0'); else $('meta[name="viewport"]').attr('content', 'height=device-height,width=device-width,initial-scale=1.0,maximum-scale=1.0'); } window.addEventListener('orientationchange', changeViewport, true); try { changeViewport(); } catch (err) { } I tried this with moderate success, at least it's the best solution I've seen so far to this problem. But it only seems to work if I execute a task first against the map. For example, I have to execute a task in my app that will find a feature and zoom to it on the map. Then when I rotate my iOS device to landscape the map will fill the entire screen but my toolbars at the top of the map are hidden. I have to tap the iOS bar at the top of the screen (that shows the time and the wifi connection strength) and then I can see my toolbar at the top of the app. Of course, the browser's url bar also appears, but you can tap and hold the toolbar and scroll up until the url bar disappears. The good news is that the app didn't scale too large like in my previous attempts. And now when I rotate back to portrait the app displays normally and the map fills the entire screen as expected. So this code is at least a step in the right direction. Hopefully this will give you something to go on for a workaround until Apple fixes the bug.
... View more
06-29-2011
07:24 AM
|
0
|
0
|
489
|
POST
|
Please note that I'm not an esri employee even though the esri logo is showing up beneath my name on the left of the forum posting. I've requested the forum administrator to remove it so as not to cause confusion.
... View more
06-28-2011
08:27 AM
|
0
|
0
|
489
|
POST
|
Please note that I'm not an esri employee even though the esri logo is showing up beneath my name on the left of the forum posting. I've requested the forum administrator to remove it so as not to cause confusion.
... View more
06-28-2011
08:26 AM
|
0
|
0
|
309
|
POST
|
I think this is an iOS bug. http://filamentgroup.com/examples/iosScaleBug/ I played around with this trying to find a workaround but the scaling was too big, as the bug states, when the orientation changed. I don't think this problem will be resolved until Apple addresses the bug and I haven't found a decent workaround for it. Also, check out the following blog post from the jQuery Mobile team about Pinch-to-zoom: Now Restored. They make reference to this bug in their post. http://jquerymobile.com/blog/2011/05/20/jquery-mobile-team-update-%E2%80%93-week-of-may-16th/
... View more
06-28-2011
08:09 AM
|
0
|
0
|
489
|
POST
|
I've had the same problem with Beta 1. I could get the map to display full with Alpha 4.1 by using the following parameters: <style type="text/css"> #map{ width:100%; height:100%; } </style> <div data-role="page" id="mapView" style="width:100%;height:100%;overflow:hidden;" data-theme="b"> <div data-role="content" id="mapcontent" style="width:100%;height:100%;padding:0px;"> <div id="map"></div> By setting the css above and these style's with the div's for data-role's "page" and "content" then the map will display full. Also, I found that another requirement to get the map to display full is to make sure your code for displaying the map is first in the body of the html document. This is especially important if you are placing multiple pages within the html document. Hope this helps.
... View more
06-28-2011
07:50 AM
|
0
|
0
|
309
|
POST
|
I am looking into building a web app targeting mobile devices like iPhone, iPad and Android devices and I want to use the JSAPI Compact Build. A couple of questions regarding this: 1. Does anyone know the url of some sites that have successfully created web apps for these devices using the JSAPI Compact Build? I would like to see real world working examples. 2. I've seen the iOS samples for the Compact Build and they are a good place to start, but it seems the Compact Build is targeting iOS devices at the moment. Has anyone tested their Compact Build web apps on Android devices? Do the touch events work well on Android? How is the performance on Android? Any major issues with using Compact Build web apps on Android devices?
... View more
10-13-2010
07:43 AM
|
0
|
1
|
627
|
POST
|
Unfortunately, no. I had to put this on the back burner because of other priorities. I haven't had the chance yet to look at the Flex Viewer code that was mentioned in the previous comment. You may want to look at that to see if you can get something out of it.
... View more
09-24-2010
10:26 AM
|
0
|
0
|
201
|
POST
|
Our GIS parcel data contains several occurrences of multiple units (i.e. condos or townhomes) within a single building that are represented by identical polygons stacked on top of each other with each polygon containing their own attributes for that unit. In my Flex application I would like to be able to identify the polygon representing the building and get results for all units within the building - that is one result for each polygon that is stacked on top of each other, similar to how ArcMap shows multiple identify results when more than one feature is identified. Unfortunately, I have not been able to find any options in the identify parameters functions of the API that will allow for this. Currently, when I identify one of these parcels I just get the results for the first polygon that is touched and not the ones underneath them. The simplest solution would be to just create separate smaller polygons within one larger polygon to represent the multiple units within the building, but we do not want to represent our GIS data this way. Does anyone know how to accomplish this ArcMap-like identify behavior through the Flex API?
... View more
05-05-2010
03:39 PM
|
0
|
3
|
2037
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|