Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PFT(models.Model):
- species=models.CharField(max_length=50)
- geom = models.PointField(srid=4326)
- objects=models.GeoManager()
- def __str__(self):
- return '%s %s %s' % (self.species, self.geom.x, self.geom.y)
- def geojson_provinces(request):
- conn = psycopg2.connect(dbname="geodjango",host='localhost',user='postgres', password='postgres', port=5433)
- dict_cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
- cur=conn.cursor()
- res = dict_cur.execute("SELECT ST_AsGeoJson(geom) AS json FROM pft_pft LIMIT 10;")
- points=dict_cur.fetchall()
- json_res = []
- for row in points:
- json_obj = row['json']
- json_res.append(json_obj)
- print(json)
- #json = simplejson.dumps(data)
- dict_cur.close()
- return render_to_response('map.html',
- {'json_res': json_res},
- context_instance=RequestContext(request))
- url(r'^geojson/$', geojson_provinces, name='geojson_provinces'),
- <script>
- var map = new ol.Map({
- layers: [
- new ol.layer.Tile({
- source: new ol.source.OSM()
- })
- ],
- target: 'map',
- view: new ol.View({
- center: [0, 0],
- zoom: 2
- })
- });
- var vectorSourceJsonp = new ol.source.Vector({
- format: new ol.format.GeoJSON(),
- loader: function(extent, resolution, projection) {
- $.ajax({
- url: "{% url 'geojson_provinces' %}",
- dataType: 'jsonp'
- });
- },
- strategy: ol.loadingstrategy.createTile(new ol.tilegrid.XYZ({
- maxZoom: 19
- })),
- projection: 'EPSG:4326'
- });
- // Executed when data is loaded by the $.ajax method.
- var loadFeatures = function(response) {
- vectorSourceJsonp.addFeatures(vectorSourceJsonp.readFeatures(response));
- };
- // Vector layer
- var vectorLayerJsonp = new ol.layer.Vector({
- source: vectorSourceJsonp,
- style: new ol.style.Style({
- stroke: new ol.style.Stroke({
- color: 'green',
- width: 2
- })
- })
- });
- var mapJsonp = new ol.Map({
- target: 'mapJsonp',
- renderer: 'canvas',
- layers: [osmLayer, vectorLayerJsonp],
- view: new ol.View({
- center: [-75.923853, 45.428736],
- maxZoom: 19,
- zoom: 11
- })
- });
- </script>
- from django.core.serializers import serialize
- from myapp.models import PFT
- def geojson_provinces(request):
- first10_serialized = serialize(
- 'geojson',
- PFT.objects.all()[:10],
- fields=('species', ),
- )
- return render_to_response(
- 'map.html',
- {'json_res': first10_serialized},
- context_instance=RequestContext(request)
- )
- var obj = JSON.parse(json);
- var loadFeatures = function(response) {
- vectorSourceJsonp.addFeatures(vectorSourceJsonp.readFeatures(response));
- };
- var loadFeatures = function(response) {
- vectorSourceJsonp.addFeatures(vectorSourceJsonp.readFeatures(JSON.parse(response)));
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement