story maps, major customization

4573
7
03-31-2015 04:27 AM
roialgavish
New Contributor III

Hello,

I am starting to use story maps, I need to do some major customization. And before I start, I wanted to ask is there a better way than the one I have in mind.

My big issues are these:

  1. I need to embed the app in a .net website, and the app should filter specific points from an ArcGIS Server map service (there is another sorting filed for the order of the point), the filter parameter should be taken from the URL of the specific web page.
  2. I need to disable the pan option of the app. I mean then I want to pass a specific extant, and I don’t want the user to be able to move out of that extant, I do want him to be able to zoom in and out in that extant.

Bear in mind that I can't build a web map for every web page because I have around 2000 of them. That is way I need the filter, the disable of the pan is because that I don’t want to expose all of the background layer that is beneath the point layer (which is a tiled map service).

I have a healthy knowledge of python and arcpy, and I can learn nodejs for this purpose (or to employ someone).

My ideas is to tell the app to work directly with the tiled services and directly with local csv file (that I can build automatically with python). In this way I can bypass the web map. Another idea is to call first to an ArcGIS online filter app, and the pan I still something I need to change manually.

I would appreciate other ideas and an opinion of the Feasibility of my own one.

Thank you all,

Roi Algavish.

7 Replies
StephenSylvia
Esri Regular Contributor

It looks like you have a very specific look and feel that you want to accomplish with your map. Instead of starting with a story map template and stripping out all the extra code and adding new code for filtering, panning, and loading map layers without a web map id; I would recommend starting from scratch. Here’s a sample that creates a map and loads a CSV file with only a few lines of code: https://developers.arcgis.com/javascript/jssamples/layers_csv.html. The API documentation has lots of samples to help you load other types of layers, apply filters, and much more. Hope this helps.

roialgavish
New Contributor III

Hello,

First of all thank you for the response, I have started to check what you have offered and i would like to consult.  If I will build everything from scratch I will need to build the all app including the responsive part (which I intend to use). And it seems to me allot of work that was already been done by the story maps developers. I really like the template and even if I will build it from scratch I would copy most of the app.

I have deployed the source code of the app on my iis, my questions are this:

  1. Can I disable the pan option in the source code? Or it is a part of a call to other file that I can't access.
  2. The same goes for bypassing the web map? And use my own content either local files or filter a point layer.

If the answer is no, it is fine. it just looks faster and easier to change the pan and the input data of the app. Again I don’t have a lot of experience in JS developing so maybe my questions are irrelevant,

Thank you.

0 Kudos
StephenSylvia
Esri Regular Contributor

The answer to both questions is yes, however, depending of the template you are using it might be very involved to load the web map from individual layer rather than using a web map. Which template are you using (http://storymaps.arcgis.com/en/app-list/)? Another option is to continue using a web map, but instead of dragging the CSV file onto the map, you can add a CSV file from a URL. This CSV can live on your server and be updated with your script. Every time the web map is loaded in the app, it will fetch the data from your server so it will always be up to date. You could also look into a feature service, which may be easier to update and host than a CSV file.

0 Kudos
roialgavish
New Contributor III

Hi,

I am using the story map tour template.

The option you have suggested about using a URL parameter to call a CSV sound like a good option for me. The only major difficulty I am left with is to disable the ability to pan outside a specific extent.

Is it a good way to advance?

Thank you.

0 Kudos
StephenSylvia
Esri Regular Contributor

If you are using the map tour template, you will not be able to use the interactive builder that is provided with ArcGIS Online. Once you start using the builder, the points showing in the map tour will be locked down, even if you add more points to the dataset or filter the. Instead you will need to download the developer version of the code: https://github.com/Esri/map-tour-storytelling-template-js. There is lots of documentation in the readme for the specific data structure of your CSV and other information you will need for rebuilding your app for production, etc. For disabling map navigation, you will need to work with the methods that the JavaScript API provides like disablePan (https://developers.arcgis.com/javascript/jsapi/map-amd.html). Also, make sure you set the map option “smartNavigation” to false. You can do this in the Core.js file when the map is first loaded: https://github.com/Esri/map-tour-storytelling-template-js/blob/0d2934378b575e8db4bc31e26f43dd5df2ccd179/MapTour/src/app/storymaps/core/Core.js#L424.

roialgavish
New Contributor III

Hello,

I am using a custom modified storymap app. I have notice that it take allot of time for the app to load, there is two main reasons (in my very humble opinion I am very new at this).

  1. It doesn't use cache when it goes to the different api .
  2. It goes read the main api file but then it reads another files from the api, some of them I don’t think it really uses like :

        http://js.arcgis.com/3.14/esri/layers/KMLLayer.js

Any ideas?

0 Kudos
GregoryL_Azou
Occasional Contributor III

Hi Roi,

Thanks for your feedback, the application are not loading as fast as we would like.

We are very aware of that issue but our progress on that issue have been limited lately. The two points you mention are correct but unfortunately hard to fix for us as this is standard behavior of the platform.

We are hoping to make major progress on the second point with the next release in middle November.

If you are using ArcGIS Online the application should be faster to load. If you have deployed it on your own server with customization, you will have to upgrade the application by re-downloading from GitHub.

Stay tuned, thanks.

0 Kudos