作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从我的数据库中检索经纬度值并在 googlemap 上将它们可视化。我不确定如何使用 for 循环访问这些字段
模型.py
import json from django.db
import models from django.utils.translation
import ugettext_lazy as _
class LocateGoose(models.Model):
class Meta:
app_label = 'My Goose'
verbose_name = _('Where is the Goose?')
external_id = models.IntegerField(unique=True)
latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True)
longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True)
name = models.TextField(max_length=250, null=True, blank=True)
address = models.TextField(max_length=25, null=True, blank=True)
View .py
from edrive.mygoose.models import LocateGoose
from django.shortcuts import render
def testgmap(request):
data = LocateGoose.objects.all()
template = 'hereismygoose.html'
return render(request, template, {"data": data})
hereismygoose.html 中的 Javascript
function initMap() {
var myLatLng = {lat: 52.0116, lng: 4.3571};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: myLatLng
});
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'stringLocate me!'
});
map.setOptions({ minZoom: 4, maxZoom: 10 });
}
最佳答案
在您的 View 中创建一个纬度和经度列表,并将其发送到上下文中的模板。
import json
def testgmap(request):
data = LocateGoose.objects.values('name', 'latitude', 'longitude')
json_data = json.dumps(list(data))
return render(request, 'hereismygoose.html', {"data": json_data})
现在在 initMap()
函数内的 html 中循环它。
var locations = {{data|safe}};
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i]['latitude'], locations[i]['longitude']),
map: map,
title: locations[i]['name']
});
}
Reference: Google Maps Simple Multiple Marker
关于javascript - 在谷歌地图上添加多个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776797/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!