IDEA
|
Hopefully this would be an easy addition in both AGOL and web app builder. There are many separate ideas here now which all deal with the same issue in slightly different ways.. WAB Real-time Time-slider Widget For "time-based layer" , have a Dynamic interval based on data Dynamic Time Slider in AGOL for use with continuously updating REST services
... View more
11-15-2016
05:56 PM
|
0
|
1
|
1241
|
IDEA
|
I would add that any service (not just a feature service) should be able to be dynamically read to update time span. For example we have a service based on rainfall data in netcdf form. It works really well as a time aware layer except that the WAB and AGOL time slider widgets don't adjust themselves when the underlying data, and timespan is changed. There are many separate ideas here now which all deal with the same issue in slightly different ways.. For "time-based layer" , have a Dynamic interval based on data Show current time/real time data in ArcGIS Online Dynamic Time Slider in AGOL for use with continuously updating REST services
... View more
11-15-2016
05:48 PM
|
5
|
0
|
1681
|
POST
|
Is anyone aware of a publicly available PI Integrator service which could be used for testing Geoevent Connections?
... View more
08-15-2016
04:47 PM
|
0
|
0
|
999
|
POST
|
Hello - I have re-posted this as a discussion in the hope of sparking some more interest.. We are trying to connect in geoevent to PI integrator, and are able to create a connection which appears to be ok, but for some reason the geoevent connection cannot receive data. It shows up in the monitor as receiving no data (see screenshot below). We can use the url and parameters to retrieve json data so the data appears to be available from PI integrator and the url is correctly parameterised. The PI integrator server is available and trusted to the server running geoevent We have tried using https and http and with and without our url proxy, all with the same result. Some screenshots below. Has anyone else experienced something similar? Many thanks, Ben
... View more
08-10-2016
10:31 PM
|
0
|
2
|
1227
|
POST
|
Hi Kelly - The data was not from collector - just a simple map service. We were using a python script to update attribute values daily and were finding that the symbology did not update to reflect that and some flaky things happened where at some zoom scales you got the new data and at others the old. I ended up remaking the map in javascript so I could use disableclientcaching and that seemed to fix the problem.
... View more
08-09-2016
08:31 PM
|
0
|
0
|
370
|
POST
|
Hello - we are trying to connect in geoevent to PI integrator, and are able to create a connection which appears to be ok, but for some reason the geoevent connection cannot receive data. It shows up in the monitor as receiving no data. We can use the url and parameters to retrieve json data so the data appears to be available from PI integrator and the url is correctly parameterised. The PI integrator server is available and trusted to the server running geoevent We have tried using https and http and with and without our url proxy, all with the same result. Some screenshots below. Cheers, Ben
... View more
08-08-2016
08:36 PM
|
0
|
0
|
850
|
POST
|
Thanks - this was a silly mistake. With that fixed, however it still doesn't hide when I click elsewhere, so clicking on a point to launch the popup and then clicking elsewhere causes the popup to still display "no information available". Robert's answer below fixes that problem by adding map.infoWindow.hide(); to the bottom of the code (line 131).
... View more
09-16-2015
03:01 PM
|
0
|
1
|
622
|
POST
|
By default, the javascript popup launches on any click regardless of whether there is resulting data or not. I am trying too develop a map in which a click on a location which has no data will not launch the popup. There is a thread on this (How to NOT SHOW/HIDE infowindow/popup if identify results = No Info Avai.? ) which shows how to do this using an event task but this is not a complete working sample so i am trying to fill in the blanks. I have my map working in the sandbox, but when I try to introduce an if (response.length > 0) { statement (line 118) to limit when the popup appears I get no popup regardless of where I click. Any ideas on what is wrong with the code below? Cheers, Ben if (reasponse.length > 0) { if (response.length > 0) { <!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--The viewport meta tag is used to improve the presentation and behavior of the samples
on iOS devices-->
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
<title>Identify with Popup</title>
<link rel="stylesheet" href="http://js.arcgis.com/3.14/esri/css/esri.css">
<style>
html, body, #map {
height:100%;
width:100%;
margin:0;
padding:0;
}
</style>
<script src="http://js.arcgis.com/3.14/"></script>
<script>
require([
"esri/map",
"esri/InfoTemplate",
"esri/layers/ArcGISDynamicMapServiceLayer",
"esri/tasks/IdentifyTask",
"esri/tasks/IdentifyParameters",
"esri/dijit/Popup",
"dojo/_base/array",
"dojo/dom-construct",
"dojo/domReady!",
"esri/dijit/Search",
"esri/dijit/HomeButton"
],
function (
Map,
InfoTemplate,
ArcGISDynamicMapServiceLayer,
IdentifyTask,
IdentifyParameters,
Popup,
arrayUtils,
domConstruct,
Search,
HomeButton
) {
var identifyTask, identifyParams;
var popup = new Popup({}, domConstruct.create("div"));
//popup.visibleWhenEmpty = false;
//popup.hideDelay = 0;
var map = new Map("map", {
basemap: "topo",
center: [147, -33.5],
zoom: 6,
logo:false,
showAttribution: false,
infoWindow: popup
});
map.on("load", mapReady);
var templateRivers = new InfoTemplate();
templateRivers.setTitle("<b>${LocationUpper}</b>");
templateRivers.setContent("<b>${River}</b><br><b>Flow:</b> ${Flow:NumberFormat(places:0)} ML/day<br><b>Level:</b> ${Level_:NumberFormat(places:2)} m<br><b>Status:</b> ${Status}<br><b>Updated on: </b> ${Last_Update}");
var templateStorages = new InfoTemplate();
templateStorages.setTitle("<b>${LocationUpper}</b>");
templateStorages.setContent("<b>${River}</b><br><b>Storage:</b> ${Percentage:NumberFormat(places:0)} %<br><b>Level:</b> ${Level_:NumberFormat(places:2)} m<br><b>Status:</b> ${Status}<br><b>Updated on: </b> ${Last_Update}");
var templateCatchment = new InfoTemplate();
templateCatchment.setTitle("<b>Sydney's Drinking Water Catchment</b>");
templateCatchment.setContent("<br/><a href='http://www.waternsw.com.au/supply/greater-sydneys-dam-levels' target='_blank'>Click here for detailed information about Sydney's drinking water storages</a>");
var parcelsURL = "http://maps.waternsw.com.au:6080/arcgis/rest/services/Water/HydrometricService/MapServer";
map.addLayer(new ArcGISDynamicMapServiceLayer(parcelsURL,
{ opacity: 0.9 }));
function mapReady () {
map.on("click", executeIdentifyTask);
//create identify tasks and setup parameters
identifyTask = new IdentifyTask(parcelsURL);
identifyParams = new IdentifyParameters();
identifyParams.tolerance = 10;
identifyParams.returnGeometry = false;
identifyParams.layerIds = [0,1,2,3];
identifyParams.layerOption = IdentifyParameters.LAYER_OPTION_ALL;
identifyParams.width = map.width;
identifyParams.height = map.height;
}
function executeIdentifyTask (event) {
identifyParams.geometry = event.mapPoint;
identifyParams.mapExtent = map.extent;
var deferred = identifyTask
.execute(identifyParams)
.addCallback(function (response) {
// response is an array of identify result objects
// Let's return an array of features.
if (response.length > 0) {
map.infoWindow.show(evt.mapPoint);
return arrayUtils.map(response, function (result) {
var feature = result.feature;
var layerName = result.layerName;
feature.attributes.layerName = layerName;
if (layerName === 'Hydrometric Service - Rivers') {
feature.setInfoTemplate(templateRivers);
}
else if (layerName === 'HydrometricService - Storage') {
feature.setInfoTemplate(templateStorages);
}
else if (layerName === 'Declared Catchment (WNSW)') {
feature.setInfoTemplate(templateCatchment);
}
return feature;
});
}
});
map.infoWindow.setFeatures([deferred]);
}
});
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>
... View more
09-16-2015
06:02 AM
|
0
|
5
|
4209
|
POST
|
Thats great - thanks. I removed the reference to popup.png in my css and replaced it with the following: .esriPopup .pointer, .esriPopup .outerPointer, .esriPopup .pointer.top { box-shadow: 0px 0px 0px 3px #000000; -moz-box-shadow: 0px 0px 0px 3px #000000; -webkit-box-shadow: 0px 0px 0px 3px #000000; -o-box-shadow: 0px 0px 0px 3px #000000; background:white; } This does the job nicely. Cheers, Ben
... View more
09-01-2015
05:12 PM
|
1
|
0
|
808
|
POST
|
Thanks for your reply Kelly. I am getting caught between a number of issues here: * My map service is symbolised on attribute values which are updated daily * Adding the layers as feature layers, I have found that sometimes the old symbology is cached in the browser, meaning that the symbology displays incorrectly * Disableclientcaching fixes this problem, but it is only available for dynamic map service layers * Using infowindows, it is possible to set info templates for individual layers in the service using dynamicMapServiceLayer.setInfoTemplates * A similar method does not seem to be available for popup tempaltes - i.e. setPopupTemplates So I seem to be stuck with infotemplates for the moment, but they have this bug with the top pointers not displaying. So where would you advise I go on this? My javascript file is attached. Cheers, Ben
... View more
09-01-2015
04:44 PM
|
0
|
2
|
808
|
POST
|
This is related to this issue, which is also presently unanswered: Re: InfoWindow popup callout arrow is &quot;broken&quot;
... View more
08-31-2015
09:32 PM
|
0
|
4
|
808
|
POST
|
I am having the same problem with the popup pointer. It is possible to reference a local copy of popup.png and use css to point it to the correct section of the png etc for left, right, bottom, bottom right and bottom left pointers, but not for top left, top and top right. My thread (currently unanswered) is below. CSS for Javascript popups - odd behaviour
... View more
08-31-2015
09:32 PM
|
0
|
0
|
385
|
POST
|
I am attempting to format a popup in a javscript map using the popup's css. I have copied the popup.png sprite locally and have modified the pointers. Strangely, I have been able to successfully reference the bottom, bottom left, bottom right, left and right pointers, but the top, top left and top right pointers display a black box instead of the pointer (see below). As an example of the ones that work - here is the bottom one: The problem is not to do with the sprite or with the background position setting, because I can change the bottom pointer to reference the top pointer in the sprite.. and it displays fine i.e.: If I set the background of the top pointer to transparent the black box goes away but still no arrow. I have played with the position settings and anything else I can think of but with no success. I am beginning to think this is a bug. My css file and the sprite is attached. Cheers, Ben
... View more
08-31-2015
05:08 PM
|
0
|
5
|
3560
|
Title | Kudos | Posted |
---|---|---|
1 | 05-11-2015 04:50 PM | |
5 | 11-15-2016 05:48 PM | |
4 | 08-19-2015 09:27 PM | |
1 | 09-01-2015 05:12 PM | |
1 | 08-26-2015 04:13 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|