タグ付けされた質問 「javascript」

JavaScriptは、プロトタイプベースのオブジェクト指向スクリプト言語であり、動的で、型付けが弱く、ファーストクラスの機能を備えています。

2
既存の選択を失わずにレイヤーをSelectFeatureに追加する方法は?
複数のレイヤーでの選択にOpenLayers.Control.SelectFeatureを使用しています。ただし、setLayer()を使用してレイヤーを追加すると、他のレイヤーでの選択が失われます。 誰でもこれを回避する方法を知っていますか?SelectFeatureコントロールにレイヤーを追加するときに、他のレイヤーの既存の選択を保持したいと思います。 次に例を示します。 私の例 更新: これはAPIの一部であることを認識しています。しかし、私は回避策を探しています。 /** * APIMethod: setLayer * Attach a new layer to the control, overriding any existing layers. * * Parameters: * layers - Array of {<OpenLayers.Layer.Vector>} or a single * {<OpenLayers.Layer.Vector>} */ setLayer: function(layers) { var isActive = this.active; this.unselectAll(); this.deactivate(); if(this.layers) { this.layer.destroy(); this.layers …

2
RESTエンドポイントをナビゲートし、フィールド情報をプログラムで取得する方法
ダイナミックマップサービスをArcGIS Server JavaScript APIマップに追加しています。クエリを実行できるように、各コンポーネントレイヤーとそのフィールドを取得する必要があります。 http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/MapServerにあるサンプルのArcGIS Serverサービスディレクトリを参照してください。 このURLをブラウザーで開くと、使用可能なレイヤー(0、1、2)と各レイヤーのフィールドのリストが表示されます。 JavaScript関数内でプログラムによってフィールドのリストを取得するにはどうすればよいですか?以下のコードスニペットは、レイヤーのエンドポイントを取得する方法を示していますが、フィールドに到達する方法がわかりません。 (1つのオプションは、レイヤーをフィーチャレイヤーとして追加することですが、可能であればこれを避けたいです)。 var url = "http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/MapServer/"; var dynLayer = new esri.layers.ArcGISDynamicMapServiceLayer(url); map.addLayer(dynLayer); dojo.connect(dynLayer, "onLoad", function() { var infos = dynLayer.layerInfos; for (var i = 0; i <= infos.length - 1; i++) { var layerId = infos[i].id; var restEndPoint = url + layerId; //restEndPoint …

4
コロプレス表現のための小さなJS離散化ライブラリ
すぐに使用できる小さなstat / discretization jsライブラリが存在するかどうかを知りたいです。 jStat(もう少し詳しく調べます)の存在を知っています。mapfishにコロプレスマップを作成するgeostatsモジュール/ウィジェットがあることは知っています。コードはこちらです。しかし、それはopenlayersに依存しているので、スタンドアロンのlibを用意して、最終的にはopenlayersと自由に通信できるようにしたいと考えています。 私はいくつかの基本的な方法を持ちたいと思います: 分 最高 平均 中央値 クラスの数と精度(10進数)を指定する機能を使用して、次の離散化を実装できます。 分位 等間隔 ナチュラルブレイク(ジェンクス) それがまだ存在しない場合、私はおそらく自分で何かをコーディングし、無料のライセンスの下でgithubにリリースするでしょう。リソースやアドバイスは大歓迎です。

1
OpenLayers 3変更終了イベント
変更後にジオメトリデータを保存したいので、フィーチャの変更が完了した後に発生するイベントが必要です。私はこの投稿から次のものを使用します: リスナー変更インタラクション var selected_features = select.getFeatures(); // when a feature is selected... selected_features.on('add', function (event) { // get the feature var feature = event.element; feature.on("change", function (event) { logStatus(feature.getId() + " has been changed!\n"); }); }); しかし、このリスナーは1回の変更で何度も起動します。「on」の代わりに「once」を使用している場合、最初の小さな変更のみを起動し、それ以上は起動しないため、実際の変更は保存されません。「changeend」や「modifyend」など、機能の変更が完了したときに起動するものが必要です。何を使用できますか?


2
Leaflet.jsでポリゴンの塗りつぶし色を動的に設定するにはどうすればよいですか?
leaflet.jsのインタラクティブクロロパスの例を使用しています 各ポリゴンがクリックされた後、各ポリゴンがページの下部に実行中の値の集計を追加する方法を理解しました。 選択したポリゴンをもう一度クリックすると、実行中の集計から値が削除されます。 これを地図上のポリゴンの塗りつぶしの変化として視覚的に表現したいと思います。 これまでの私のコードは次のとおりです(PHPを含むJavaScript):(私が何をしようとしているのかを説明するためにコード内にコメントを含めました。ここでもどんな助けも大歓迎です) function addUp(num, x) { <?php // begin php code $places = $db->query("SELECT boundary_id, boundary_name FROM boundaries WHERE boundary_state= '$thatstate'"); while($row = $places->fetch_object()) { //end php code ?> //begin javascript if (x == "List<?php echo $row->boundary_name ?>" && List<?php echo $row->boundary_name ?> == 1) { temp …

1
リーフレットレイヤーのタイプを判断する正しい方法は?
リーフレット/ Javascriptでレイヤーの「タイプ」を識別するための正しい(または推奨される)アプローチは何ですか? 私は正常に使用できlayer instanceofますが、これは、設計時にタイプを知っている場合にのみ機能します(通常はそうです)。 map.eachLayer(function(layer) { console.log('_leaflet_id=' + layer._leaflet_id + ' is layer type= '+ getLayerTypeName(layer)); function getLayerTypeName(layer) { if (layer instanceof L.Marker){ return 'Marker'; } else if (layer instanceof L.Tooltip){ return 'Tooltip'; } else if (layer instanceof L.esri.DynamicMapLayer){ return 'DynamicMapLayer'; } else if (layer instanceof L.esri.BasemapLayer){ return 'BasemapLayer'; } …


2
OpenLayers 3でダブルクリックズームを無効にする
私はそれをWeb全体で検索し、artamstrong.comで「mouseWheelZoom」のような単一の機能を無効にする方法を見つけました。 OpenLayers 3でのダブルクリックズームを無効にする方法は次のとおりです。 var map = new ol.Map({ controls : ol.control.defaults() .extend([ new ol.control.FullScreen() ]), interactions : ol.interaction.defaults({doubleClickZoom :false}), target : 'map', layers : [ new ol.layer.Tile({ title : 'OpenStreetMaps', preload : Infinity, source : new ol.source.OSM(), visible : true }) ], view : new ol.View({ center : ol.proj.transform([ 9.41, …

4
Leafletレイヤーのアイコンのカスタムの順序/ Z-index
マーカーがたくさんある単一のレイヤー(ポイント)があります。各ポイントには、定期的に更新される属性があります。見た目上の理由から、緯度が低いレイヤーが上になるように、リーフレットでレイヤーを並べ替えますが、クラスタリングの領域では、属性の値が高いレイヤーが上になるように並べ替えたいと思います。各マーカー/ポイントを個別のレイヤーに分割して描画順序をそのように強制せずにこれを行う方法はありますか?

1
特定のズームレベルでのみマーカーを表示する
「これは素晴らしい道です」、「この町はかなりいい」などの線に沿って、主観的な情報をマーカーとしてオーバーレイして、leaflet.jsでサイクルツーリングマップを作成しています。情報の過負荷を避けるために、特定のズームレベルで最も目立つマーカーを表示します(たとえば、ズーム9で強調表示された素晴らしい道路、11で良い道路、13歳以上で否定的なコメントを含むすべての道路情報を表示します) ここで2つの質問があります。 この種の認識されたイディオムやデザインパターンはありますか?各マーカーのプロミネンスを手動で決定できてとても嬉しいので、クラスタリングアルゴリズムは必要ありません。州全体で数百になる可能性があるため、管理可能です。 これをリーフレットにどのように実装できますか?私の明白な考えは、ハンドラーをmap.zoomend()にアタッチして、関連するマーカーを表示または非表示にすることです。もっと良い方法はありますか?

1
LeafletのGeoJSONレイヤーへのポップアップの追加
Leaflet APIを使用するのは初めてで、GeoJSONレイヤーのポップアップの作成で問題が発生しています。私は次の投稿を参照として見ましたが、それでも問題は解決していません: ネストされた配列をリーフレットのgeojsonポップアップとしてバインドする 私のGeoJsonデータは次のようになります。 { "type": "FeatureCollection", "features": [ { "geometry": { "type": "Point", "coordinates": [ -73.97364044189453, 40.66893768310547 ] }, "type": "Feature", "properties": { "lon": -73.97364044189453, "lat": 40.66893768310547, "version": "1.1", "t": 1381167616, "device": "iPhone3,3", "alt": 67, "os": "6.1.3" } }, { "geometry": { "type": "Point", "coordinates": [ -73.96121215820312, 40.66240692138672 ] …

3
OpenLayers 3でGeoserverのWFSを使用するにはどうすればよいですか?
さまざまなセットアップとフォーマットを試してみましたが、成功しませんでした。 firebugを使用すると、jsonデータがロードされていることがわかりますが、マップには何も表示されません。 openlayers 3でgeoserverとwfsを使った経験はありますか? var layer_ojd_vector = new ol.layer.Vector({ source: new ol.source.Vector({ parser: new ol.parser.GeoJSON(), url: http://SERVER:8080/geoserver/NS/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=NS:LAYER&maxFeatures=50&outputFormat=json }), style: new ol.style.Style({rules: [ new ol.style.Rule({ filter: 'geometryType("point")', symbolizers: [ new ol.style.Shape({ fillColor: '#013', size: 40 }) ] }) ]}) });

1
トークンベースの認証セキュリティについて
認証済みサービスをトークンで読み取っています。ユーザーがarcgisサービスを使用するにはトークンを取得する必要があることを理解しています。例:https : //domain.com/arcgis/rest/services/myMap/MapServerは私のサービスです。サーバー管理者がこのようなトークンをくれました。トークン= AJSJK876548sjjs7 そして、私はこのhttps://domain.com/arcgis/rest/services/myMap/MapServer?token=AJSJK876548sjjs7のような私のjavascript apiでこのサービスを使用しました ユーザーはブラウザーからアプリケーションソースを表示し、トークンを取得できます。そして彼/彼女は私のサービスにアクセスできます。これはセキュリティ上の問題ですか?

1
ArcGis-server jsとdynamicMapServiceLayerを使用してカスタムの動的凡例を作成する
地図アプリケーションの構築に使用しているdynamicMapServiceLayerがあります。マップサービスには、setVisibleLayersアクションを使用して切り替えているレイヤーが約10あります。 独自の動的な地図の凡例を作成したいと思います。レイヤーの可視性が切り替えられると、対応する凡例アイテムもhide()/ show()になります 私のmapServerには、凡例のURLに10個の凡例アイテムがあることを除いて、以下のような対応するすべての凡例アイテムを含むページにリンクするURLがあります http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Petroleum/KGS_OilGasFields_Kansas/MapServer/legend 既存のmapServerから個々の凡例アイテム(名前とシンボル)にアクセスする方法はありますか?凡例の作成に慣れています。凡例ダイアログに追加するレイヤーのシンボルにアクセスする方法を知っている必要があります。 また、DOJOの使用、および純粋なjavascriptとjQueryの使用を避けていることにも言及する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.