/* code aangelevert door ESRI, Charles van der Put */
/* als versienummer (3.15) aangepast wordt, ook aanpassen in de CSS lijst! */
if (document.getElementById('map')) { // only run when there's something to show..
var map, dialog;
require([
"esri/arcgis/utils", "esri/urlUtils", "esri/lang",
"esri/tasks/query", "esri/tasks/QueryTask",
"dojo/on", "dojo/dom-style", "dojo/cookie",
"dijit/TooltipDialog", "dijit/popup", "dojo/domReady!"
], function (
arcgisUtils, urlUtils, esriLang,
Query, QueryTask,
on, domStyle, cookie,
TooltipDialog, dijitPopup
) {
var zoomExtent;
var createMapOptions = {
geometryServiceURL: "https://tasks.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer"
};
urlUtils.addProxyRule({
urlPrefix: "services2.arcgis.com",
// urlPrefix: "route.arcgis.com",
proxyUrl: "https://www.jijmaaktdebuurt.nl/ariadne/arcgis-proxy/proxy.php"
});
//line of code to set the cookie for testing purposes, can be removed in production
//cookie("buurtCode", "s:5: ESD00 ;", { expires: 5 });
arcgisUtils.createMap("63723712da594f74acece7c98a98d385", "map", createMapOptions).then(function (response) {
map = response.map;
if (zoomExtent) {
map.setExtent(zoomExtent);
}
var ideaLayer = map.getLayer(map.graphicsLayerIds[3]); //deze is nieuw
dialog = new TooltipDialog({
id: "tooltipDialog",
style: "position: absolute; width: 450px; z-index:100"
});
dialog.startup();
map.on("load", function () {
map.graphics.enableMouseEvents();
});
ideaLayer.on("mouse-over", function (evt) {
var t = "${titel} klik voor meer informatie";
var content = esriLang.substitute(evt.graphic.attributes, t);
dialog.setContent(content);
domStyle.set(dialog.domNode, "opacity", 1);
dijitPopup.open({
popup: dialog,
x: evt.pageX,
y: evt.pageY
});
});
ideaLayer.on("mouse-out", closeDialog);
ideaLayer.on("click", closeDialog);
function closeDialog() {
dijitPopup.close(dialog);
}
});
// Get geometry based on buurtCode cookie to zoom to
var queryTask = new QueryTask("https://services.arcgisonline.nl/arcgis/rest/services/Demografie/CBS_WijkenBuurten_2014/MapServer/0");
var query = new Query();
query.returnGeometry = true;
query.outFields = ["bu_naam"];
getBuurtCodeFromCookie();
function getBuurtCodeFromCookie() {
var buurtCode = cookie("buurtCode")
query.text = '';
// for alle buurten focus on center enschede
if (buurtCode=='s:4:"alle";') { buurtCode = 's:5:"ESD00";' };
if (buurtCode && buurtCode.length) {
cookieContent = buurtCode.split('"');
// query.text = "BU01530" + cookieContent[1].substring(3, 4) + "0" + cookieContent[1].substring(4, 5);
var val = "BU01530" + cookieContent[1].substring(3, 4) + "0" + cookieContent[1].substring(4, 5);
query.where = "bu_code = '"+val+"'";
}
queryTask.execute(query, showResults);
}
function showResults(results) {
if (results.features.length == 1) {
zoomExtent = results.features[0].geometry.getExtent();
}
}
function CenterAndZoom(x,y) {
var location = new esri.geometry.Point(x,y,map.spatialReference)
map.centerAndZoom(location,12);
}
});
} // check map