Django地理位置,谷歌和OSM地图。用绑定法、GIS点类型和相应的管理小部件实现模型的模型域。

django-geopositionmap的Python项目详细描述


=========
django地理位置图
======


========


>一个可以保存地理位置(纬度/经度)的模型字段,以及相应的管理/表单小部件。
移植到geodjango点类型。
google map和osm map小部件。



-----

django地理位置图要求django 1.4.10或更高版本。
geodjango gis contrib地理空间框架。



转到geoppositionmap

-将"geoppositionmap"添加到"已安装的应用程序"设置中:

le service.



用法
----

``django geoppositionmap``带有一个模型字段,可以很容易地将一个地理位置字段添加到您的模型中。利用
它:

-在您的"myapp/models.py"中:


-这将启用以下简单的API::

>;>from myapp.models import poi
>;>poi=poi.objects.get(id=1)
>;>poi.position
latlng(52.522906,13.41156)
>;>poi.position.lat
52.522906
>;13.41156

-一些方法:

>;>pos=latlng(10.0,11.0)
>;>pos.geos point
<;位于0x4175910l>的点对象;
>;
>;类型(pos.geospoint)
<;类'django.contrib.gis.geos.point.point'>;
>;
>;<>;位置
lat lng(10.0,11.0)
>;>pos=latlng('10','11')
>;>pos
latlng(10.0,11.0)
>;>pos.lat
>;10.0
>;>pos.lng
>;<11.0
>;
+010.0000000000,+011.0000000000
>>>键入(pos)
<;类"geoppositionmap.latlng">;
>;
>;pos.to_string()
u'+010.0000000000000000,+011.0000000000'
>;>;键入(pos.to_string())
<;键入"unicode">;
>;pos.pos
(10.0,11.0)
>>gt;类型(pos.pos)
<;类型‘tuple’>;
>>>>gt;pos.lat=14
>>>>>和gt;pos.lng=-12
>>>>;pos
>>>;pos
>latlng(14.0,-12.0)
>>>;pos.setpos(41,46)
>latlng(41.0,46.0)
>>>;pos.setpospos(41.15 46.46.56’'41.15 46.56.46.56’
>;pos;pos pos.lat.lat=14
>>>>朗液化天然气(41.15,46.56)
>>>;
>>>>>>gt;ne=朗液化天然气('-13.0,'-11.0,'-13.0,'-13.0,'-13.0,'-12.3'''-13.0,'-14.0,'-14.0,'-12.3’)
>;sw=朗液化天然气('-15.0,'-13.0,'-13.0’)
>>;pos.is有界(ne,sw)
>朗液化天然气('-14.0,-14.0,-12.3,'-14.0,'-14.0,'-12.3)
>>>pos=板条('-14.0','12.3')
>;>pos.isbounded(ne,sw)
false





form field和widget
----

^^^^^

租赁存储
位置。您可以用鼠标拖放标记,相应的纬度和经度字段将相应地更新。


可以使用自定义管理器管理Models对象中的自定义方法。
LatlngField对象是地理位置坐标,因此您可以确定您的点是否正确
进入边界区域(东北,西南)。

-在"myapp/models.py"中:


=models.charfield(最大长度=100)
position=latlngfield()


def是有限制的(self):
return self.position

-这将启用以下简单的API::

>;>;从myapp.models导入POI
>;>;POI.objects.bound('42,13','40,10')将poi检索到绑定矩形中,如果是活动的
[<;poi:poi object>;]
>;>>poi.objects.bound()检索所有活动poi
[]



-active on-map方法

ds从地理位置映射导入latlngfield
。geomanager导入geomanager


objects=geomanager()

class poi(models.model):
name=models.charfield(max_length=100)
position=latlngfield()

def active\onmap(self):
return false将"true"返回到活动的有界方法

return self.position

-使用活动的有界方法启用以下简单的API:

>;来自myapp.models import poi
>>>>poi.objects.bound('42,13','40,10')
[]
>>>poi.objects.bound()
[]



regular forms
^^^^^^^^^^^^^^^^

在您的模板中,确保包含了

-`jquery`.
-包含了map小部件的静态文件(js、css)(只需使用
`{{form.media}```)

**示例**::

<;script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js">;
<;form method="post"action="">;{%csrf戋token%}
{{form.media}
{form.as戋p}
<;/form>;




设置
--


在"settings.py``中定义``地理位置地图``选项``或``地理位置地图``标记``选项`。
设置真正的地理位置地图`谷歌视图.谷歌视图和地理位置地图` OSM视图以查看
谷歌地图或查看OSM地图。

**示例**:

={
"minzoom":3,
"maxzoom":15,
}


geoppositionmap_marker_options={
"cursor":"move"
}


geoppositionmap_google_view=false;默认值为true
geoppositionmap_osm_view=false;默认值为true

请注意,不能将类似"new google.maps.latlng(52.5,13.4)"`
的值用于类似"center"或"position"的设置,因为这将在javascript代码中作为
字符串结束,并且不会进行计算。请为此目的使用
`lat/lng对象文本``,例如`{'lat':52.5,`lng':13.4}`.


您还可以将
``geopposition``地图小部件`高度``设置为整数值(默认值为480),以自定义显示的地图小部件的高度。


`麻省理工学院_谷歌地图:http://code.google.com/api/maps/documentation/javascript/
。|地理位置地图小部件管理image::docs/images/admin.jpg
…_ jquery:http://jquery.com
。_麻省理工学院:http://philippbosch.mit license.org/
…_地图选项:https://developers.google.com/maps/documentation/javascript/reference?csw=1映射选项
…_ markeroptions:https://developers.google.com/maps/documentation/javascript/reference?csw=1个标记选项
…_ lat/lng对象文本:https://developers.google。com/maps/documentation/javascript/examples/map latlng literal

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SSH连接到远程Linux服务器,但不使用第三方库   java使用REST assured的XmlPath查找所有XML节点   java员工入围名单   使用jlinked java launcher启用jlink预览功能   java我的ArrayList对象没有打印出我想要的对象属性   java父标记在FXML文件中没有默认属性警告?   mongodb使用Java复制集合mongodb,而不使用迭代器进行DbAdmin登录   java JDBC DatabaseMetaData为oracle12C中的列大小返回“0”   java在登录后设置会话属性   java中的Html转义?   mysql JAVA面向对象数据库连接   java让socket在安卓中保持活力   java放射组。setOnCheckedListener未按预期工作。(更改单选按钮的颜色)   java LocalContainerEntityManagerFactoryBean实例化未找到persistenceunit   java无法在运行时(运行活动)更改配置(语言环境)