hypejunction/hypemapsopen

此包已 弃用 并不再维护。未建议替代包。

使用开放技术构建的地图

安装: 96

依赖项: 1

建议者: 1

安全性: 0

星标: 1

关注者: 3

分支: 0

类型:elgg-plugin

2.1.2 2019-06-04 12:55 UTC

This package is auto-updated.

Last update: 2022-03-21 23:08:11 UTC


README

Elgg 3.0

用于构建开放技术地图的API和UI

截图

User Map

功能

  • 通过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 添加视图;

致谢