web-dev-qa-db-ja.com

gmapモジュールを使用してgmapにカスタムマーカーアイコンを追加する方法

カスタムマーカーをgmapモジュールのマーカーのリストに追加したいと思います。以下のリンクを試しました。 http://mydrupaltricks.be/article/drupal-7- custom-gmap-markers が機能しませんでした

<?php
$markerdir = variable_get('gmap_markerfiles', drupal_get_path('module', 'gmap') . '/markers');
?>

「gmap_markerfiles」変数を設定することで、新しいマーカーフォルダーの場所を変更できます。この変数を設定する必要があるのは1回だけなので、コードを「my_module.install」ファイルに入れます。

<?php
/**
* Implements hook_install().
*/
function my_module_install() {
  variable_set("gmap_markerfiles", drupal_get_path("module", "my_module_name") . "/markers");
}
?>
Now we can create the new "markers" folder in our new module. Gmap expects a .ini file to describe all your markers. We add the file "markers/my_module.ini".
; Defaults
[defaults]
; Note: An empty shadow property will break IE.
; Leave it commented out if you aren't supplying an image.
; shadow = ""
anchorX = 15
anchorY = 17
infoX = 17
infoY = 6

; Marker sets

[drupal]
name = "drupal"
sequence = "marker-green.png"

[salepoint]
name = "salepoint"
sequence = "marker-green.png"

[headquarter]
name = "headquarter"
sequence = "marker-green.png"

[shop]
name = "shop"
sequence = "marker-yellow.png"
5
harshal

カスタムマーカーを使用するために、独自のモジュールを作成する必要はありません(箱から出して何かを行う場合を除き)。

これがその方法のガイドです(Googleマップを表示するために gmap モジュールと views モジュールを使用していると思います)。

  1. カスタムマーカーをDrupalウェブサイト、fxをテーマフォルダーにアップロードします(例:/ sites/all/themes /yourtheme)/images/markersまたはあなたにぴったりの別の場所。
  2. そのフォルダーで、[〜#〜] ini [〜#〜]ファイルを作成し、カスタムマーカーを宣言する必要があります(名前を付けるなど)。以下の1つのカスタムマーカーの例を参照してください。 enter image description here
  3. Gmap設定/ admin/config/services/gmapに移動し、マーカー画像とiniファイルを保存したフォルダーを指定します(下の画像を参照)。 enter image description here
  4. すべてを保存し、キャッシュをクリアしたことを確認してください。
  5. ビューに移動し、設定でカスタムマーカーを使用できるようにする必要があります(下部)。 enter image description here
11

更新が原因で、Dmytro Pastovenskyiの回答が7.x-2.11では無効になるという、このいくらか長時間実行されているスレッドで指摘したいと思いました。 「カスタムマーカーパス」フィールドは、UIフォームの/ admin/config/services/gmapにまだ存在しますが、そこに入力された値は事実上無視されます。それを機能させるために私がしたこと:

  1. ライブラリAPIモジュールをインストールします( https://www.drupal.org/project/libraries
  2. Sites/all/librariesに「gmap_markers」というディレクトリを作成します
  3. このフォルダーにあなたのiniファイルと関連する画像を入れてください
  4. キャッシュをクリアする
10