40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
## hello world plugin
|
|
|
|
This is a very simple sample plugin. It is designed to help developers
|
|
see the skeletal basics needed to achieve a functional datasource plugin.
|
|
|
|
It is not a model plugin of best practices as much as a model of the bare
|
|
minimum you need to have a working plugin that returns a single feature.
|
|
|
|
Code comments attempt to highlight which code is mandatory, which is
|
|
simply recommended, and which is purely fluff used to get the plugin to
|
|
actually show some data.
|
|
|
|
When added to a map it provides a single point geometry representing
|
|
the center of any query. This means that it should place a point in
|
|
the middle of any map tile and display a "hello world!" label if used like:
|
|
|
|
```xml
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white">
|
|
<Style name="style">
|
|
<Rule>
|
|
<PointSymbolizer />
|
|
<TextSymbolizer name="[key]" face_name="DejaVu Sans Book" size="10" dx="5" dy="5"/>
|
|
</Rule>
|
|
</Style>
|
|
<Layer name="test" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
|
<StyleName>style</StyleName>
|
|
<Datasource>
|
|
<Parameter name="type">hello</Parameter>
|
|
</Datasource>
|
|
</Layer>
|
|
</Map>
|
|
```
|
|
|
|
Or used in python like:
|
|
|
|
```
|
|
import mapnik
|
|
ds = mapnik.Datasource(type="hello")
|
|
```
|