I'm working on displaying GeoJSON data on ArcGIS map using ArcGIS javascript API.
Below is my code,
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
<title>Geoj</title>
<!-- ArcGIS API for JavaScript CSS-->
<style>
html, body, #mapDiv {
height: 100%;
width: 100%;
}
</style>
<link rel="stylesheet" href="https://js.arcgis.com/3.9/js/esri/css/esri.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" >
<link rel="stylesheet" href="https://esri.github.io/bootstrap-map-js/src/css/bootstrapmap.css">
<script src="./vendor/terraformer/terraformer.min.js" ></script>
<script src="https://js.arcgis.com/3.9/"></script>
<script src="./vendor/terraformer-arcgis-parser/terraformer-arcgis-parser.min.js"> </script>
<script src="./src/geojsonlayer.js"</script>
<script>
require([
"esri/map",
"./src/geojsonlayer",
"dojo/on",
"dojo/dom",
"dojo/domReady!"],
function (Map, geoJsonLayer, on, dom) {
// Create map
var map = new Map("mapDiv", {
basemap: "gray",
center: [-122.5, 45.5],
zoom: 5
});
map.on("load", function () {
addGeoJsonLayer("http://services6.arcgis.com/ZHUwet99mNBqTsuu/ArcGIS/rest/services/ABHI/FeatureServer/0/query?where=city%3D%27BENGALURU%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=&units=esriSRUnit_Meter&outFields=&returnGeometry=true&multipatchOption=&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnDistinctValues=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&quantizationParameters=&sqlFormat=none&f=pjson&token=");
});
// Add the layer
function addGeoJsonLayer(url) {
// Create the laye
var geoJsonLayer = new GeoJsonLayer({
url: url
});
// Zoom to layer
geoJsonLayer.on("update-end", function (e) {
map.setExtent(e.target.extent.expand(1.2));
});
//var GEOJSON= Terraformer.ArcGIS.parse(geoJsonLayer, sr)
// Add to map
map.addLayer(geoJsonLayer);
}
});
</script>
</head>
<body>
<div id="mapDiv"></div>
</body>
</html>
I'm getting the following error:
Error: multipleDefine
at Error (native)
at c (https://js.arcgis.com/3.9/init.js:15:378)
at Ka (https://js.arcgis.com/3.9/init.js:36:286)
at https://js.arcgis.com/3.9/init.js:37:216
at f (https://js.arcgis.com/3.9/init.js:15:291)
at Ya (https://js.arcgis.com/3.9/init.js:37:194)
at h (https://js.arcgis.com/3.9/init.js:34:301)
at HTMLScriptElement.<anonymous> (https://js.arcgis.com/3.9/init.js:39:128)
I'm not able to figure it out. Could anyone help me out on this?
Best Answer
You don't need this line...
<script src="./src/geojsonlayer.js"</script>
...since you're already loading that via AMD.All the Terraformer script tags should come before the ArcGIS API script tag.