1. 程式人生 > >arcgis for js開發, 根據給定的經緯度在地圖上進行標註

arcgis for js開發, 根據給定的經緯度在地圖上進行標註

本人對地理資訊相關知識一竅不通,由於公司目前要基於arcgis做資料展現,於是進行arcgis for js的開發學習,思路很清晰,但是困難很多,搞了兩三天,才在釋出的地圖圖層上根據給定的經緯度資料進行標註,不過這個做好了,下面就目標清晰了,無非是從後臺取資料,然後在前臺進行展現;

基於js的arcgis開發,需要學習以下知識:

1. 地理資訊相關的基礎知識

2. dojo js框架的學習

3. arcgis for js api的熟悉(https://developers.arcgis.com/javascript/jsapi/polygon-amd.html)

以下是程式碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My fisrt ArcGis Map</title>
<link rel="stylesheet" type="text/css"
href="http://localhost:8080/gis/arcgis_js/js/dojo/dijit/themes/tundra/tundra.css" />
<link rel="stylesheet" type="text/css"
href="http://localhost:8080/gis/arcgis_js/js/esri/css/esri.css" />
<script type="text/javascript"
src="http://localhost:8080/gis/arcgis_js/init.js"></script>
<script type="text/javascript">


var myMap;


require([
  "esri/map", "esri/toolbars/draw",
  "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol","esri/symbols/PictureMarkerSymbol","esri/geometry/Point","esri/layers/GraphicsLayer",
  "esri/symbols/PictureFillSymbol", "esri/symbols/CartographicLineSymbol", "esri/SpatialReference","esri/InfoTemplate",
  "esri/graphic", 
  "dojo/_base/Color", "dojo/dom", "dojo/on", "dojo/domReady!"
], function(
  Map, Draw,
  SimpleMarkerSymbol, SimpleLineSymbol,PictureMarkerSymbol,Point,GraphicsLayer,
  PictureFillSymbol, CartographicLineSymbol, SpatialReference,InfoTemplate,
  Graphic, 
  Color, dom, on
) {

myMap = new Map("arcgisDiv");

dojo.connect(myMap, "onClick", showCoordinatesAndAddPoint);
dojo.connect(myMap, "onLoad", graphicLoad);

var myTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer(
"http://192.168.254.161:8080/arcgis/rest/services/GISServer/farmland/ImageServer"); 

myMap.addLayer(myTiledMapServiceLayer);




  function showCoordinatesAndAddPoint(evt) {
 //get mapPoint from event
 var mp = evt.mapPoint; // 可以從mp物件的屬性中查詢到圖層對應的wkid的值,這個值和下面紅色註釋的值要保持一致


 //display mouse coordinates
 dojo.byId("info").innerHTML = mp.x + ", " + mp.y;
 
     // 102100
     var newPoint = new Point(mp.x, mp.y, new SpatialReference({ wkid: 102100 }));
    
     var picSymbol = new PictureMarkerSymbol("http://localhost:8080/gis/images/chaosu.png", 20, 20);
     var picGraphic = new Graphic(newPoint, picSymbol);
     
     myMap.graphics.add(picGraphic);
     
}


function graphicLoad()
{

   // new SpatialReference({ wkid: 102100 }) 這個引數必須加,而且wkid的值要和圖層保持一致,否則顯示不出來,這個值可以從


     var newPoint = new Point(13184586.725552682, 3951448.604221201, new SpatialReference({ wkid: 102100 }));
   
    var picSymbol = new PictureMarkerSymbol("http://localhost:8080/gis/images/chaosu.png", 20, 20);
    var picGraphic = new Graphic(newPoint, picSymbol);
    
    var infoTemplate = new InfoTemplate();
        infoTemplate.setTitle("hello world");
        infoTemplate.setContent("hello world說說撒 hello world");
        
        picGraphic.setInfoTemplate(infoTemplate);
    myMap.graphics.add(picGraphic);
  
}
});


</script>
</head>
<body class="tundra">
<div id="arcgisDiv"
style="width: 900px; height: 600px; border: 1px solid #000;"></div>
<div id="info"></div>
</body>
</html>

相關推薦

arcgis for js開發 根據給定經緯度地圖進行標註

本人對地理資訊相關知識一竅不通,由於公司目前要基於arcgis做資料展現,於是進行arcgis for js的開發學習,思路很清晰,但是困難很多,搞了兩三天,才在釋出的地圖圖層上根據給定的經緯度資料進行標註,不過這個做好了,下面就目標清晰了,無非是從後臺取資料,然後在前臺進

arcgis for js 開發系列之地圖新增折線

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv

arcgis for js 開發系列之熱力圖

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="v

arcgis for js 開發系列之地圖實現右鍵點選事件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv

arcgis for js 開發系列之地圖地圖繪製矩形

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv

arcgis for js 開發系列之地圖氣泡窗

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv

arcgis for js 開發系列之地圖新增圖片標註

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv

Arcgis for Android開發檔案一(離線地圖解決方案)

ArcGIS Runtime for Android開發解決方案資料 目錄 前言 一、ArcGIS Runtime for Android 開發環境的搭建 二、ArcGIS Runtime for Android 離線地圖包的製作 三、ArcGIS Runtime for

arcgis api for js 開發

來源:http://www.cnblogs.com/oolili/p/6002098.html       下面開始arcgis api for js開發環境的離線部署:                 備註:下載api需要註冊arcgis使用者才行    

arcgis for js 根據多邊形自動縮放

bsp var single 根據 渲染 style ret arcgis 幾何 交代背景:多邊形已經渲染在圖層上,然後根據多邊形自動縮放值合適的大小; 思路:獲取圖層信息,獲取圖層中的幾何信息,獲取圖形範圍信息,在地圖上設置範圍;(下面的方法有封裝)記一下思路就好 va

Arcgis for Js實現graphiclayer的空間查詢

var outline edm == .net result aps family -c 本節講的是Arcgis for Js的針對graphiclayer的空間查詢,內容非常easy。代碼例如以下: <!DOCTYPE html> <html>

(轉)Arcgis for Js之Graphiclayer擴展詳解

不同的 nes library 創建 都是 拖拽 oms hang graph http://blog.csdn.net/gisshixisheng/article/details/41208185 在前兩節,講到了兩種不同方式的聚類,一種是基於距離的,一種是基於區域範圍

JS根據用戶輸入的年月份判斷是這年的第幾天

nth || AD lse quest 輸入 判斷 ear 月份 console.log("輸入年份:"); let year = readline.question() - 0; console.log("輸入一個月份"); let month = readline.q

ArcGIS for qml - 地址地標轉換為經緯度(地理編碼)

實現輸入地址地標轉換為其經緯度 源地址:https://www.cnblogs.com/suRimn/p/9963221.html   一、地理編碼 1、地理編碼含義 地址編碼(或地理編碼)是使用地址中包含的資訊來插入地圖上的相應位置的過程。使用參考資料來源(稱為定

arcgis for js SSL證書無效

只需要在jupyter notebook的最前面加入 import ssl  ssl._create_default_https_context = ssl._create_unverified_context 即可解決 第二種解決方案:在GIS初始化值,將verify_cer

WebAppBuilder獨立於Portal之arcgis for js應用框架研究

1.前言          最近在做專案過程中,用到了WAB,先做一下總結和歸類。Webappbuilder(簡稱WAB)是執行在portal或者online的一款webGIS開發應用程式,其程式碼開源並且具有優秀的設計外觀、多個系統微件、多平臺執行、積木模式搭建、靈活可擴充套件的開發方式,為現代webGIS

arcgis for js 通用氣泡

var infoTemplate = new InfoTemplate("Attributes", "${*}"); arcgis for js中,氣泡(InfoTemplate)裡的內容一般是定製的,裡面要顯示哪些欄位,格式如何,都可以定製。 但如果事先不知道每個圖層有哪些欄位呢

Arcgis for Js QueryTask查詢結果集的定位

通常我們在對服務查詢到結果集後,需要把視域定位到結果集上,這時可以使用到 graphicsUtils來實現    var queryTask = new esri.tasks.QueryTask(             "http://localhost:6080/arc

arcgis for js 從入門到放棄一:初識和配置詳解

前言:去年因專案需要學習arcgis js,上手資料只有官網的api和demo,半年過去了資料還是很少,於是寫這個系列希望能幫助新手能快速入門。這東西我玩的時間也不長,各種不足和錯誤也希望大家能批評指正。 首先給出官網地址(https://developers.

arcgis for js 3.x 學習記錄(一)

一:侃 4.x主要更新的是對3維的操作吧,我們專案目前沒用到3維地圖,然後客戶那面裝的也都是arcgis 10.1?,所以覺得還是用3.x比較好,目前我們專案用的是arcgis for js  3.19 arcgis for js 3 開發者資料地址:https://dev