定制 m2s/typo3-poi-map 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

m2s/typo3-poi-map

Composer 安装命令:

composer require m2s/typo3-poi-map

包简介

Categorized points of interest with GoogleMaps integration

README 文档

README

A Typo3 extensions which adds categorized points of interest with GoogleMaps and SnazzyInfoWindow integration.

Installation

The extension is tested in composer mode but, like all composer extensions, should work in classic mode without any hassle.

Composer mode

Just require the extension from the command line.

composer require m2s/typo3-poi-map

Classic mode

  1. Download the latest release and extract it into a folder named poi_map in your extension folder.
  2. Go to the extension manager in the typo3 backend and enable the extension.

Setup

TypoScript

Include the static typoscirpt in your root template or an extension template of your choice.

Extension configuration

Basic settings

Setting Type Description Default
maps.api_key text Maps JavaScript API key: If not set the maps implementations will be rendered in development mode ''
maps.default_type select mapTypeId: The default display type for google maps rendered by the plugin 'roadmap'
maps.default_style text/json styles: A json string that defines how the google map is rendered, only works if api key is set ''

Hint: Visit SnazzyMaps for some awesome styles.

Content settings

Setting Type Description Default
maps.use_typoscript_language checkbox Use Typo3 language: If set maps will be loaded using the language code from the typoscript configuration (by default google maps use the browser preferences to determine the display language) false

ATTENTION: Please be sure to set the config.language property in your Typoscript appropiately, if you want to use this setting

Advanced Settings

Setting Type Description Default
maps.default_options text/json Default maps options: The styles option is overwritten by the maps.default_style setting if set to anything other than '' ''
wizard.api_key text Maps JavaScript API key for the backend wizard: Is ignored if wizard.use_frontend_api is set ''
wizard.use_frontend_api checkbox Use frontend API key for backend wizard: If set the API key defined for the frontend implementation is used for the backend false
wizard.center text/csv Default center for backend wizard: Commaseparated geo coordinates '0.0,0.0'
wizard.zoom int+ Default zoom for backend wizard: A value between 1 and 18 1

In most cases it is advisable to not use an api key for the backend to conserve quota, because you will be billed after 28,000 loads per day.
With that said however it can be useful to use a different api key for the backend to track the usage separately.

Constants

These settings won't be available if you did not include the static typoscript in your template (see above).

Template settings

As is common with plugin extensions you can customize the templates by adding your own root paths and overwriting the templates.

Setting Type Desciption Default
templateRootPath text Path to templates ''
partialRootPath text Path to partials ''
layoutRootPath text Path to layouts ''

Persitence settings

This setting does not have any effect at the moment as data insertion is done via the List module.
However it is recommended to set this to the UID of the page in which you keep your Place records.

Setting Type Description Default
storagePid int+ Default storage PID 0

Additional settings

These settings provide defaults for all maps rendered by the plugin.

Setting Type Description Default
default_type select mapTypeId: The default display type for google maps rendered by the plugin, will overwrite extension setting if set to anything but inherit inherit
default_marker_icon text/url Default marker icon: An absolute URL either to an external resource (including schema and host) or to a local resource (starting with /) to use as default custom marker ''
default_info_options text/json SnazzyInfoWindow options: A json string that provides the default options for info windows rendered by the plugin ''
default_style text/json styles: A json string that defines how the google map is rendered, only works if api key is set, will overwrite extension setting if set to anything but '' ''

Places

The extension adds a new record type.
Place records can be added from the List module in the typo3 backend.
Places can be used as markers for the maps.

Maps

The extension adds a new list type (plugin).
The plugin has to layouts:

  • List: Lists all Places corresponding to the filter settings
  • Map: Generates a google map with all Places corresponding to the filter settings

ViewHelper

The extension adds a new ViewHelper.
The map view helper can be used to render a google map.

Maps specific attributes

Property Type Description Default
places array A set of places to be placed on the map as markers []
as string The name for the iteration variable in the info window template 'place'
options array Configuration array for the map itself default_options
mapStyles array Configuration array for the styles option of the map default_style
type string The type of map that should be displayed default_type
zoom integer The zoom of the map (between 1 and 18) 1
center string The center of the map (comma separated geo coordinates) '0.0,0.0'
enableInfo boolean Enables/disables on click info windows true
enableInfoSingle boolean Enables/disables multiple open info windows true
infoOptions array Additional configuration for SnazzyInfoWindow instances default_info_options
markerIcon string Sets a custom marker icon for all markers on this map default_marker_icon

Default tag attributes

Property Description
class CSS class(es) for this element
dir Text direction for this HTML element. Allowed strings: "ltr" (left to right), "rtl" (right to left)
lang Language for this element. Use short names specified in RFC 1766
style Individual CSS styles for this element
title Tooltip text of element
accessKey Keyboard shortcut to access this element
tabindex Specifies the tab order of this element
onclick JavaScript evaluated for the onclick event
additionalAttributes An array of additional attributes for the maps container

m2s/typo3-poi-map 适用场景与选型建议

m2s/typo3-poi-map 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 26 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 11 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「google maps」 「typo3」 「places」 「locations」 「points of interest」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 m2s/typo3-poi-map 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 m2s/typo3-poi-map 我们能提供哪些服务?
定制开发 / 二次开发

基于 m2s/typo3-poi-map 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 26
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2018-11-08