标签: mapbox

Tilemill/CartoCSS布尔条件

在TileMill/CartoCSS中有一个选项可以有一个布尔"OR"吗?我确实尝试过正则表达式,但没有成功.我想简化这个CSS:

@ciPolyBackground: #F79320;
@ciPolyOpacity: 0.5;

#countries {
    [ne_10m_adm = "BOL"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm = "BRA"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm = "BWA"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm = "CHN"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm = "COD"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm = "COL"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm = "ECU"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm = "FJI"] { polygon-fill: @ciPolyBackground; polygon-opacity: @ciPolyOpacity; }
    [ne_10m_adm …
Run Code Online (Sandbox Code Playgroud)

regex mapbox tilemill cartocss

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

Leaflet - 如何自动删除以前的标记

以下javascript代码将允许在地图上的地图上创建标记,使用node.js/socket.io实时单击本地和全局.这很好,但每个添加的标记都可见.

像这个例子:http://jsfiddle.net/brettdewoody/LK35U/

现在,当第二标记已被添加到地图,我需要删除以前的标记(第一个)自动,再加入第三标记- >删除第二标记等.任何人都可以帮我理解如何做到这一点?也许和grouplayer一起?它是如何工作的?

// generate unique user id
var userId = Math.random().toString(16).substring(2,15);

var socket = io.connect('http://localhost:4000');
var doc = $(document);

// custom marker's icon styles
var tinyIcon = L.Icon.extend({
    options: {
        iconSize: [25, 39],
        iconAnchor:   [12, 36],
        shadowSize: [41, 41],
        shadowAnchor: [12, 38],
        popupAnchor: [0, -30]
    }
});
var anyIcon = new tinyIcon({ iconUrl: "assets/img/icon.png" });

var sentData = {}

var connects = {};
var markers = {};
var active = false;

// for …
Run Code Online (Sandbox Code Playgroud)

javascript node.js leaflet mapbox

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

Leaflet/Mapbox Lat Lng 位于圆圈内

有人知道mapbox或leaflet是否可以检测一个点是否位于L.Circle内?谢谢。

javascript leaflet mapbox

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

使用 mapbox 自定义 MGLPolyline

刚开始使用 Mapbox,通过在 locationManaged didUpdateLocations 中添加它来设法绘制一条 MGLPolyline

   var shape = MGLPolyline(coordinates: &a, count: UInt(a.count))
   mapView.addAnnotation(shape) 
Run Code Online (Sandbox Code Playgroud)
  1. 改变线宽不会改变它在屏幕上

func mapView(mapView: MGLMapView, lineWidthForPolylineAnnotation annotation: MGLPolyline) -> CGFloat { return 20.0 }

  1. 如何将笔触默认颜色从黑色更改为其他颜色?

mapkit mapbox swift

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

在 Mapbox 中搜索一个国家

我有一个国家/地区列表,我正在尝试将地图居中并调整缩放级别以在地图中显示整个国家/地区。

使用 geocoding APIs https://api.mapbox.com/geocoding/v5/{dataset}/{query}.json?country={cc}&access_token=<your access token>,我能够得到一些不在国家中心的坐标,但至少我得到了相关的坐标,但是,返回的对象不包含任何关于缩放级别的信息。

<select id="country" name="country">
    <option value="at">Austria</option>
    <option value="cy">Cyprus</option>
    <option value="de">Germany</option>
    <option value="pt">Portugal</option>
    <option value="es">Spain</option>
</select>

<div class="map" id="map"></div>

<script>

mapboxgl.accessToken = 'the_access_token';
var map = new mapboxgl.Map({
    container: 'map', // container id
    style: 'mapbox://styles/mapbox/streets-v8', //stylesheet location
    center: [-74.50, 40], // random starting position
    zoom: 9 // starting zoom level
});

// Find country
$('#country').on('change', function (e) {
    countrycode = $(this).val();
    country = $(this).find('option:selected').text();
    console.log(countrycode, country);
    $.ajax({
        url: "https://api.mapbox.com/geocoding/v5/mapbox.places/"+country+".json?country="+countrycode+"&access_token="+mapboxgl.accessToken,
        success: function(res) {
            console.log(res);
            map.easeTo({ …
Run Code Online (Sandbox Code Playgroud)

javascript mapbox mapbox-gl mapbox-gl-js

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

如何删除传单层并再次重画?

我正在使用以下JavaScript代码在地图上绘制多边形:

var map = L.map('map').setView([], 10);

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=QA7i5Mpkd_m30IGElHziw', {
    maxZoom: 18,
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' +
        '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
        'Imagery © <a href="http://mapbox.com">Mapbox</a>',
    id: 'mapbox.light'
}).addTo(map);
map.doubleClickZoom.disable();

// get color depending on population density value
function getColor(d) {
    return  d > 3000 ? '#006400' :
            d > 2500 ? '#FFEDA0' :
            d > 2000 ? '#FFEDA0' :
            d > 1500 ? '#c8ff58' :
            d > 50   ? '#FFEDA0' :
            d > 20   ? '#6fdc6f' :
            d …
Run Code Online (Sandbox Code Playgroud)

javascript leaflet mapbox

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

Mapbox 在单击事件时更改缩放

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

javascript mapbox mapbox-gl

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

在 Deck.GL 中渲染多边形的最简单方法是什么?

我试图从概念上理解 Deck.GL 如何渲染事物,所以我正在研究从 Lines 到 Polygons 到 GeoJson 的示例层。线条工作正常,但有些东西阻止我渲染即使是 DeckGL 在他们的例子中最简单的多边形。

这是一些有效的示例行代码

import React from "react";
import DeckGL, { LineLayer } from "deck.gl";
import { StaticMap } from "react-map-gl";

const MAPBOX_ACCESS_TOKEN = process.env.REACT_APP_MAPBOX_KEY;

// Viewport settings
const viewState = {
  longitude: -122.41669,
  latitude: 37.7853,
  zoom: 13,
  pitch: 0,
  bearing: 0
};

// Data to be used by the LineLayer
const data = [
  {
    sourcePosition: [-91.72307036099997, 31.814196736000035],
    targetPosition: [-122.41669, 37.781]
  },
  {
    sourcePosition: [-122.41669, 37.781],
    targetPosition: [-95.52274057225983, 30.131426214982195]
  }
]; …
Run Code Online (Sandbox Code Playgroud)

mapbox reactjs mapbox-gl-js deck.gl

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

Mapbox Navigation SDK,将航点添加到 NavigationRoute.builder() 时出现问题

目前我正在尝试在 mapbox 提供的 android 导航 SDK 中创建导航路线。当向查询添加多个航点时,问题就开始了。(下面的查询返回响应并在地图上绘制路线)

NavigationRoute.builder()
            .accessToken(Mapbox.getAccessToken())
            .origin(start)
            .destination(end)
            .alternatives(false)
            .build()
            .getRoute(new Callback<DirectionsResponse>() {
                @Override
                public void onResponse(@NonNull Call<DirectionsResponse> call, @NonNull Response<DirectionsResponse> response) {

                    if (response.isSuccessful()) {

                        try {
                            assert response.body() != null;
                            routeodfgoh = response.body().routes().get(0);

                            if (navigationMapRoute != null) {
                                navigationMapRoute.removeRoute();
                            } else {
                                navigationMapRoute = new NavigationMapRoute(null, mapView, map);
                            }

                            //how to draw the map think map matching is work
                            navigationMapRoute.addRoute(routeodfgoh);

                        } catch (Exception ex) {
                            Toast.makeText(MainActivity.this, ex.toString(), Toast.LENGTH_LONG);
                        }

                    }
                }

                @Override
                public void onFailure(Call<DirectionsResponse> …
Run Code Online (Sandbox Code Playgroud)

android mapbox mapbox-android

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

组件作为弹出内容

我正在创建一个 Pop up

  this.popUp = new mapboxgl.Popup({
    closeButton: true,
    closeOnClick: true,
    anchor: 'bottom-left',
  })
    .setLngLat(coordinates)
    .setHTML(
      '<span><p>Foo: Bar
      + <img class="pop-up-image" src=.../></span>'
    )
    .addTo(this.map);
Run Code Online (Sandbox Code Playgroud)

的内容Pop up我定义以下

.setHTML(
      '<span><p>Foo: Bar
      + <img class="pop-up-image" src=.../></span>'
    )
Run Code Online (Sandbox Code Playgroud)

有没有办法将 aReact.Component或 afunctional Component作为内容传递给弹出窗口?

javascript mapbox reactjs mapbox-gl-js

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