0

Drupal サイトで GMaps、Location、User locations モジュールを使用しています。ユーザーの「範囲」を表示できるマップが必要です。カバレッジ範囲は、ユーザーを参照してカスタム コンテンツ タイプに格納されます。

マップ上にカバレッジ サークルのみを持つユーザーを表示するにはどうすればよいですか? GMap マクロで遊んでいるときにこのような表示タイプを見たので、GMaps をそのように使用することは可能であると思います。

おそらく、これは GMap モジュールではそのままではサポートされていないと思います。とにかく、誰かが私を正しい方向に向けることができれば、本当にうれしいです...

4

1 に答える 1

0

結局、ハンガリーのコミュニティの助けを借りて、これを行うことができました。(元のスレッドをリンクさせていただければ幸いですが、削除されたようです。)

基本的に「トリック」は、フック付きの小さなカスタムモジュールを作成することでした。

function MODULENAME_preprocess_gmap_view_gmap(&$vars) {
  if ( $vars['view']->name == "my_gmap_view" ) {
    $map_object = $vars['map_object'];
    $map_object['id'] = 'my_view_id';
    foreach ($vars['view']->result as $key => $row) {
      $shapes[$key]['type'] = 'circle';

      // we have a profile field for the radius, but it could be anything...
      $shapes[$key]['radius'] = $row->profile_values_profile_radius_value;

      // center the circles on the coord
      $shapes[$key]['center'][0] = $row->location_latitude;
      $shapes[$key]['center'][1]= $row->location_longitude;
    }

    // we don't need any markers, just the circles
    $map_object['markers'] = NULL;
    $map_object['shapes'] = $shapes;
    $vars['map'] = theme('gmap', array('#settings' => $map_object));
  }
}
于 2011-08-15T10:38:20.223 に答える