1

私の検索では、事実上何も見つかりませんでした。私が見つけたドキュメントはすべて Drupal 6 バージョンのものです。プログラムで Openlayers マップをレンダリングする方法を理解する必要があります (openlayers_render_map関数を使用すると思います)。最終的には、フォーム API を使用して、検索に一致する複数の場所から選択するマップを作成し、正規の住所と正確な場所を説明する WKT 文字列を取得できるようにしたいと考えています。

これはかなり自由回答の質問であり、私が本当に欲しいのは、よく書かれたドキュメントへのリンクです。しかし、そのようなものは存在しないという結論に達しているので、より具体的な質問は、PHP コードで Openlayers マップを設計し、それを任意のテンプレートでレンダリングするにはどうすればよいですか? ノードに保存されたデータは表示されず、永続的な場所でも表示されないため、ビューを使用することはできませ。さらに、特定の場所を選択したり、現在選択されている場所を取得したりするためにマップとやり取りする Javascript を書き始めるにはどうすればよいですか?

4

3 に答える 3

1

マップをレンダリングするには:

$map = openlayers_map_load('my_map');
$output = openlayers_render_map($map->data,$map->name);

js でマップを操作するには:

var ol_map = $('.openlayers-container .openlayers-map').data('openlayers');
于 2012-09-13T17:24:39.133 に答える
0

ビューを使用することはオプションではありませんか? クレイジーなアイデアを提案するので、我慢してください。

マップ自体が引数として緯度/経度 (または選択した他の地理値) を受け入れるマップ ビューを作成し、実際には意味のあるものをまったく含まないマップ データ ビューを作成します。それらをリンクします。次に、マップ ページの引数をジオコーダから直接送信します。

私は限られた成功で似たようなことに取り組んでいますが、それは可能であるべきもののように感じます...

于 2013-02-12T17:01:59.037 に答える
0
$map = openlayers_map_load('your_map');
$map->data['layer_activated']['your_layer'] = 'your_layer';
$map->data['layers']['your_layer'] = 'your_layer';
$map->data['behaviors']['openlayers_behavior_zoomtolayer']['zoomtolayer']['your_layer'] = 'your_layer';    
$output = openlayers_render_map($map->data,$map->name);
于 2015-11-03T03:41:06.357 に答える