hypejunction / hypemaps
Elgg 的地图用户界面
2.2.2
2016-02-24 20:20 UTC
Requires
- php: >=5.3.3
- bower-asset/sticky-kit: ~1.0
- composer/installers: >=1.0.8
- hypejunction/api-lists: *
README
Elgg 的 Google 地图集成
支持开发
- 给我买份蔬菜!
- 您还可以通过分享您分配给 AdSense 单元的房地产百分比来支持此插件的开发。您可以在插件设置中指定您希望与我分享的百分比(0 到 100)。在每次页面加载时,插件将在您的发布者 ID 和我的发布者 ID 之间切换。例如,如果您选择分享 10%,则您的发布者 ID 将在 90% 的所有页面浏览中使用,我的发布者 ID 将在 10% 的页面浏览中使用。
入门
-
您需要一个有效的 Google API 密钥。您可以在 https://console.developers.google.com 获取一个。配置您的项目以包含以下 API
-
静态地图 API
-
Google Maps Javascript API
-
Google Maps Geolocation API
-
Geocoding API
-
Geocoding 功能不包括在此插件中。您需要安装另一个适合该目的的插件。您可以使用我提供的 hypeGeo 插件,在此处找到:https://github.com/hypeJunction/hypeGeo
-
地点功能已被拆分为独立的插件,因此如果您是从先前版本升级,请获取该插件的副本:https://github.com/hypeJunction/hypePlaces
-
确保您将 API 密钥的使用限制在您管理的域中,否则其他人可以从面向公共的 JS/静态地图 URL 复制它们并重新使用。
开发者注意
-
与切换相册视图的方式类似,地图视图可以通过向使用核心 API 生成的任何页面添加
?list_type=mapbox
来切换。 -
要构建和显示新的动态地图,使用以下类似方法
// Display friends on the map
$params = array(
'options' => array(
'id' => 'friends', // List id / must be unique on the page
'types' => 'user',
'relationship' => 'friend',
'relationship_guid' => elgg_get_logged_in_user_guid()
),
'getter' => 'elgg_get_entities_from_relationship',
);
echo \hypeJunction\Maps\ElggMap::showMap($params);
此示例将渲染用户朋友的地图。生成的地图将是可筛选的,而不是使用 elgg_list_entities_from_relationship()
并传递 'list_type' => 'mapbox'
生成的地图。
请注意,以这种方式生成的地图将仅包括具有地理编码位置的实体。如果您需要具有地图概述的所有实体的列表,请使用 elgg_list_entities_*
并传递 mapbox 列表类型。
- 要修改网站范围或群组地图的列表,请使用
'search:site','maps'
和'search:group','maps'
钩子。查看代码以获取一些示例。您需要添加您自定义的视图。