問題タブ [angular-leaflet-directive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
leaflet - Angular Leaflet ディレクティブにマーカーを追加できません
Leaflet ディレクティブにマーカーを追加しようとしていますが、どういうわけかデフォルトのL.marker()
方法で作成されたマーカーを受け入れません。
ディレクティブは次のように使用されます。
$scope
規定どおりにコントローラーで拡張しています:
後でマーカーを追加すると、どういうわけか機能しません。まず、.markers
オブジェクトは配列ではないため、 を使用して要素を追加することはできませんpush()
。しかし、要素を連想配列として追加しても機能しません:
エラーは次のとおりです。
[AngularJS - Leaflet] マーカーの定義が無効です。
[AngularJS - Leaflet] マーカー 0 で無効なデータを受け取りました。
私は非常に単純なものを見落としていますが、何がわからないのですか...リードをいただければ幸いです。
angularjs - AngularJS + Leaflet – サービスでリーフレット マップを初期化する
LeafletJS を使用してマップを操作する AngularJS でアプリを構築しています。これは、私がフェーズと呼ぶものに分かれたさまざまな可能な操作を提供します。これらの各フェーズには、UIRouter
コントローラーとテンプレートを備えた状態があります。
私は現在、サービスを通じてリーフレット機能を提供しています。アイデアは、そのサービスが Leaflet マップを初期化し、状態のコントローラーへの制限されたアクセスを提供することでした。setupMarkersInteractions
したがって、これらのコントローラーは、たとえばマップ上にマーカーを配置できるようにするコールバックをセットアップするなどのサービス関数を呼び出します。
ただし、Leaflet のleaflet.map()
関数を使用してマップを初期化するときに問題が発生していますError: Map container not found
。これは、Leaflet がマップを関連付ける HTML 要素を見つけられないことに関連しています。
現在、私はちょっとこれをやっています:
このinitializeMap
関数は、状態のテンプレートで宣言されている をleaflet.map
含む HTML 要素を探すように指示します。id='map'
さて、実際の質問ですが、これはある種のAngularJS サービスが HTML テンプレートにアクセスできないことに関連していますか? 問題については何も見つかりませんでしたが、サービスがビューに直接アクセスしないことは理にかなっていると思いました...
もしそうなら、どのような回避策を探るべきですか? を調べましたがleaflet-directive
、希望する柔軟性でカスタム コールバックを追加および削除する可能性はないようです (たとえば、Leaflet-Freedraw を使用して無料の描画機能を追加すると、複雑になります)。
leaflet.map
要素の引数を使用して直接使用することを検討しHTMLElement
ましたが、それでも機能させることができませんでした-想定されているものを渡していない可能性があります.
javascript - リーフレット マーカー アイコンのクリック イベントが機能しない
ページを更新すると通常リーフレット マーカーの問題に直面していますが、マーカーはクリック可能ですが、別のページから来たときはマーカーをクリックできません。すべてのことを試しましたが、解決策が見つかりませんでした。
ジャバスクリプト:
});
HTML:
[注] Leaflet(ver: "0.7.7") と angular-leaflet-directive(version: "0.10.0") を使用しています。
mean.io - Angular-leaflet-directive 構文エラー: 式の列 2 のトークン '{' 無効なキー
angular-leaflet-directive を使用して複数のマップを作成すると問題が発生します。
リスト City があり、ng-repeat を使用して多くのマップを表示したいと考えています。
これはコードです
それはエラーを警告しますSyntax Error: Token '{' invalid key at column 2 of the expression [{{city.place_id}}] starting at [{city.place_id}}]
。「center」を他の文字列に変更してテストすると、エラーは発生しません。
修正を手伝ってください。
どうもありがとうございます !!!!!!!
javascript - Angular リーフレット ディレクティブは、地図の中心にあるマーカーにズームします
親愛なるプログラマーの皆さん、
リーフレット ディレクティブでマップを作成しようとしています。ここでフィドルを見ることができます。
フィドル
上記のフィドルでは、マップをドラッグすると、マーカーが常に中央に表示されます。しかし、(スクロールを使用して)ズームイン/ズームアウトすると、マップがマウスの領域にズームされ、マーカーの座標が変更されます。
ズームイン/ズームアウトするときに、マップの中心にあるマーカーにマップをズームする (マーカー座標を変更しない) にはどうすればよいですか?
どんな助けでも大歓迎です:)
これはjsコードです:
javascript - リーフレット ポップアップ onEachFeature 関数に ng-click を追加する
マップを作成し、それを geojson api に接続しました。基本的に、各マーカー ポップアップを ng-click にリンクしたいと考えています。このような単純な html を配置しても、コンパイルする必要があるため、うまくいきません。
そして、それが私がやろうとしていることです。これがそのコードの塊です。「エラー: [ng:areq] Argument 'scope' が必要です」というメッセージが表示されます
私はangularとjsにかなり慣れていないので、ここで明らかで愚かなものが欠けていると思います。ありがとう!
javascript - MEANjs を使用した angular-leaflet-directive の geojson
angular-leaflet-directive からこの例を複製しようとしていますが、 MEAN.JSに実装されている Angular MVC フレームワークを使用しています。angular-leaflet-directive は、コントローラーで指定した正しいtiles
、center
、およびを受け入れて表示しますが、 で呼び出す代わりに geojson をコントローラーに直接貼り付けても、maxBounds
レンダリングに失敗します。geojson
$http.get
より具体的な例を自分の側で作成して更新します。
これは機能します:
UPDATE どういうわけか、MEAN.jsの元のインスタンスを使用すると、問題を再現できません。それは、問題が別のところにあることを意味していると思います。その場合は、この質問を削除します。
更新 2 プロットが厚くなります: 問題のプロジェクトの /public/modules/maps ディレクトリ全体を、元の MEAN.js インスタンスの作業例のディレクトリで上書きしましたが、問題のプロジェクトでは機能しません。
angularjs - ng-click raise submit を使用した ng-include - 回避する方法は?
私はhtmlテンプレートを持っています:
そして、次のように追加します。
これは次の関数ですMyController
。
しかし、ボタンをクリックすると送信され、挨拶機能は呼び出されません。
私も追加しようとしtype="button"
ましたが、同じです。
これが実用的なソリューションなので、何が欠けているのかわかりません。