小编lee*_*um1的帖子

加载时的 Mapbox queryRenderedFeatures

我想在页面加载后使用 queryRenderedFeatures 来填充列表,但它似乎在加载图层之前不断触发。我在下面的控制台中收到错误消息:

The layer 'Points' does not exist in the map's style and cannot be queried for features.
Run Code Online (Sandbox Code Playgroud)

要素加载后如何查询图层?我尝试遵循这些答案中的建议,但它一直返回空

页面加载后执行的 JavaScript

页面加载完成后调用函数

这就是我现在所拥有的

map.on('load', function() {
  map.addLayer({
      'id': 'Points',
      'type': 'circle',
      'source': 'Points-45d56v',
      'source-layer': 'Points-45d56v',
      'layout': {
          'visibility': 'visible',
      },
      'paint': {
        'circle-radius': 6,
        'circle-color': 'red'
      }
  });
});

$(document).ready(function(){
  var features = map.queryRenderedFeatures({layers:['Points']});
  console.log(features);
});
Run Code Online (Sandbox Code Playgroud)

javascript mapbox mapbox-gl-js

6
推荐指数
2
解决办法
5652
查看次数

Django CreateView get_initial 外键

我有一个表单,我正在尝试使用该get_initial方法来设置外键。模型是

class CardioRecord(models.Model):
    date_uploaded = models.DateField(auto_now=True)
    client = models.ForeignKey(User, on_delete=models.CASCADE)
    run_dist = models.FloatField(blank=True, null=True)
    run_time = models.FloatField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

形式是

class CardioRecordForm(forms.ModelForm):
        class Meta:
            model = CardioRecord
            fields = [
                        'client',
                      'run_dist',
                      'run_time',
                      ]
            labels = {
                'run_dist': 'Distance (km)',
                'run_time': 'Time (min)',
            }
            widgets = {
                'client': forms.HiddenInput()
            }
Run Code Online (Sandbox Code Playgroud)

视图是

class CardioCreateView(CreateView):
    model = CardioRecord
    form_class = CardioRecordForm
    template_name = 'training/cardio_form.html'

    def get_initial(self):
        initial = super(CardioCreateView, self).get_initial()
        initial['client'] = self.request.user.pk
        return initial
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

null value in column "client_id" …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-forms django-class-based-views

3
推荐指数
1
解决办法
2816
查看次数

在AWS Elastic Beanstalk上部署Geodjango应用程序

我正在尝试在AWS Elastic Beanstalk上部署geodjango应用程序。配置为运行Python 3.6的64位Amazon Linux 2017.09 v2.6.6。尝试部署时出现此错误:

Requires: libpoppler.so.5()(64bit) Error: Package: gdal-java-1.9.2-8.rhel6.x86_64 (pgdg93) Requires: libpoppler.so.5()(64bit)
Run Code Online (Sandbox Code Playgroud)

如何安装所需的软件包?我阅读了在AWS Beanstalk或EC2实例中通过GeoDjango支持设置Django的内容,但仍然遇到问题。我的ebextensions当前看起来像:

commands:
  01_yum_update:
  command: sudo yum -y update
02_epel_repo:
  command: sudo yum-config-manager -y --enable epel
03_install_gdal_packages:
  command: sudo yum -y install gdal gdal-devel

packages:
  yum:
     git: []
     postgresql95-devel: []
     gettext: []
     libjpeg-turbo-devel: []
     libffi-devel: []
Run Code Online (Sandbox Code Playgroud)

django gdal geodjango amazon-web-services amazon-elastic-beanstalk

2
推荐指数
1
解决办法
406
查看次数

Mapbox 在单击事件时更改缩放

我有一张地图,其中起始缩放级别为 5。当用户单击一个点时,我希望地图转到该点并将缩放级别更改为 10。我正在使用 flyTo() 方法来居中点上的地图。如何更改缩放级别?

javascript mapbox mapbox-gl

1
推荐指数
1
解决办法
3139
查看次数