hypejunction / hypemapsopen
此包已 弃用 并不再维护。未建议替代包。
使用开放技术构建的地图
2.1.2
2019-06-04 12:55 UTC
Requires
- php: >=5.6
- composer/installers: ~1.0
- npm-asset/leaflet: ~1.0
- npm-asset/leaflet.awesome-markers: ~2.0
- npm-asset/leaflet.markercluster: ~1.0
README
用于构建开放技术地图的API和UI
截图
功能
- 通过Nominatim进行地理编码和反向地理编码
- 使用Leaflet.js构建的地图
- 默认地图瓦片由Open Street Maps提供(在视图中可自定义
- 用户地图
- 小组地图
- 小组成员地图
用法
任意位置地图
echo elgg_view('page/components/map', [ 'markers' => [ 'Berlin, Germany', 'London, UK', 'Paris, France', ] ]);
带自定义图标的地图
$berlin = hypeJunction\MapsOpen\Marker::fromLocation('Berlin, Germany'); $berlin->icon = 'smile-o'; $berlin->color = 'green'; $berlin->tooltip = '<b>Berlin is a happy place</b>'; $paris = hypeJunction\MapsOpen\Marker::fromLocation('Paris, France'); $paris->icon = 'coffee'; $paris->color = 'black'; $paris->tooltip = '<img src="https://s-media-cache-ak0.pinimg.com/736x/ca/ea/57/caea57268e1dee696f3c20a5a0f895f2.jpg" alt="Paris" />'; echo elgg_view('page/components/map', [ 'markers' => [ $berlin, $paris, ], ]);
实体地图
echo elgg_view('page/components/map', [ 'markers' => elgg_get_entities_from_metadata([ 'types' => 'object', 'subtypes' => 'place', 'metadata_name_value_pairs' => [ 'venue_type' => 'cafe', ], 'limit' => 0, ]), 'center' => hypeJunction\MapsOpen\Marker::fromLocation('London, UK'); ]);
带数据源和搜索功能的地图
echo elgg_view('page/components/map', [ // Set src to json data source // Data set should be an export of Marker instances 'src' => '/path/to/data/source/json', 'show_search' => true, ]);
更改标记图标和颜色
使用 'marker','<entity_type>'
钩子。支持的色彩:'red', 'darkred', 'orange', 'green', 'darkgreen', 'blue', 'purple', 'darkpuple', 'cadetblue'
elgg_register_plugin_hook_handler('marker', 'object', function($hook, $type, $return, $params) { $entity = elgg_extract('entity', $params); if ($entity instanceof Event) { $return->icon = 'calendar'; $return->color = 'darkpurple' } return $return; })
更改弹出内容
为 maps/tooltip/<entity_type>/<entity_subtype>
或 maps/tooltip/<entity_type>/default
添加视图;
致谢
- 此插件的早期版本部分由 [Social Business World] (https://socialbusinessworld.org "Social Business World") 赞助