标签: geojson

离线工作的JavaScript SVG World Map库?

我正在寻找一个JavaScript库,它允许我从本地托管的形状数据构建S​​VG地图(允许用户在没有互联网连接的情况下使用该应用程序).

1)我应该在哪里看?
2)GeoJson是形状数据的良好候选者吗?
3)我在哪里可以找到国家边界和(1级深)地方实体的形状数据?

如果图书馆也支持绘制圆圈,其中心点位于特定的纬度/经度坐标处,那将是一个奖励:)

javascript gis svg geojson

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

为itunes创建geojson文件

我想在我的应用程序中添加路由应用程序覆盖文件,我创建了一个geojson文件:

{"type":
"MultiPolygon","coordinates":[
    [-1.897287,39.035986],
    [-1.862268,39.022384],
    [-1.841154,39.000643],
    [-1.831369,38.980829],
    [-1.862869,38.967084],
    [-1.887503,38.976226],
    [-1.899261,39.007379]
]
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

JSON file you uploaded was invalid. Errors : Each set of coordinates provided must be valid : [Ljava.lang.Object;@7de9b790
Run Code Online (Sandbox Code Playgroud)

我的错是什么?

谢谢!

geojson ios6

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

Couchbase和GeoSpatial数据

找不到在couchbase中使用Geo Views的文档/ howtos/examples.

简化任务:我的文档如下:

{
 x:10,
 y:15,
 color:"RED"
}
Run Code Online (Sandbox Code Playgroud)

我需要找到正方形中的所有

{top:1,left:1,right:34,bottom:77}
Run Code Online (Sandbox Code Playgroud)

geojson couchbase

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

MongoDB GeoJSON"无法从对象,格式错误的几何体中提取地理键?" 插入多边形时

我收到错误"无法从对象中提取地理键,格式错误的几何体?".多边形是关闭的,格式看起来很好,因为它正确插入Mongo.我正在使用Mongo版本2.6.3,在Centos 6.5 x64上运行.

下面的多边形有什么问题?我非常密切地关注了Mongo的例子.

db.test.remove({});
db.test.insert({testPoly: {type: "Polygon", coordinates: [[0,0],[0,20],[10,30],[20,20],[20,0],[0,0]]}});
db.test.ensureIndex({testPoly: "2dsphere" });
db.test.find();

/* 0 */
{
    "connectionId" : 2385,
    "err" : "Can't extract geo keys from object, malformed geometry?: { _id: ObjectId('54008301eb55d4628c080370'), testPoly: { type: \"Polygon\", coordinates: [ [ 0.0, 0.0 ], [ 0.0, 20.0 ], [ 10.0, 30.0 ], [ 20.0, 20.0 ], [ 20.0, 0.0 ], [ 0.0, 0.0 ] ] } }",
    "code" : 16755,
    "n" : 0,
    "ok" : 1
}

/* 0 */ …
Run Code Online (Sandbox Code Playgroud)

mongodb geojson

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

在观看之后从之前的addGeoJson(scope.data)中清除谷歌地图

我想将google-maps与angular.js同步,因此我为google-maps创建了自定义指令.

 var map;
 map = new google.maps.Map(document.getElementById('map'),
     mapOptions);


 scope.$watch('geojson', function(newVal, oldVal) {
     if (newVal !== oldVal) {


         map.data.setMap(null);
         map = new google.maps.Map(document.getElementById('map'),
             mapOptions);
         map.data.addGeoJson(scope.geojson);
     }
 }, true);
Run Code Online (Sandbox Code Playgroud)

我的解决方案有效,但它不是我想要实现的,当数据发生变化时,每次使用新的scope.geojson加载map,遗憾的是我找不到任何好的解决方案如何删除数据,我认为没有将geojson数据添加为图层的一些选项?然后在添加新的geojson之前清除此图层,这样map将是稳定的,只有geojson数据会改变?

javascript google-maps geojson angularjs

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

在叠加层geojson图层上单击时,Google Maps API Map Click事件不起作用

我已使用以下方法在地图上实现了click事件

google.maps.event.addListener(map, 'click', mapclick);

而且一切正常。

我还在地图上添加了geojson图层。因此,问题是当我单击覆盖的geojson图层(实际上是多边形图层)时,未触发地图单击事件。因此,我的问题是,当我单击地图上的叠加层时,如何使地图单击事件也起作用?

javascript google-maps geojson google-maps-api-3

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

无法解析符号“ GeoJsonLayer”

我目前正在使用Google Maps API,并且尝试将带有标记的GEOJSON文件作为图层连接到地图。

我从文档中摘录的行现在正在尝试使用:

GeoJsonLayer layer = new GeoJsonLayer(getMap(), R.raw.geoJsonFile,
        getApplicationContext());
Run Code Online (Sandbox Code Playgroud)

错误是 Cannot resolve symbol 'GeoJsonLayer'

我已经将编译添加org.json:json:20090211到了我的依赖项中,但这并没有解决问题。

我正在使用Android Studio为Android OS编码。

有什么帮助吗?谢谢

编辑:

班级代码:

package com.example.macbookair........;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.maps.android.geojson.GeoJsonLayer;

import org.json.JSONException;

import java.io.IOException;

public class Maps extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;
    private GeoJsonLayer layer1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // Obtain the SupportMapFragment and get notified …
Run Code Online (Sandbox Code Playgroud)

android json geojson

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

谷歌地图不正确的GeoJSON渲染

我正在尝试使用Google Maps API在Google地图上绘制GeoJSON LineString.

我将GeoJSON对象作为AJAX响应并使用"map.data.addGeoJson(data)"函数在地图上加载GeoJSON响应.

GPS纬度和长点全部从Open Street Maps网站的.gpx文件中删除,然后放入数据库.然后将它们编译成GeoJSON格式,然后发送到网站.

各个点都在德国,但轨迹在索马里附近.

有人可以帮我吗?

包含AJAX请求的initMap函数如下:

       function initMap() {

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 12,
      center: {lat: 53.44620230866472, lng: 9.666813185187198},
      mapTypeId: google.maps.MapTypeId.TERRAIN,
    });


    $.ajax({
    url: 'http://ADDRESS TO SERVER/api/geodata/getLineString',
    data: {"usrid":3,"startd":"2016-04-17","endd":"2016-04-18"},
    type: 'POST',
    success: function (response) {
    map.data.addGeoJson(response);
        },
    error: function () {
        alert("error");
    },
});
  }
Run Code Online (Sandbox Code Playgroud)

整个GeoJSON响应如下:

      {
  "type": "Feature",
  "geometry": {
    "type": "LineString",
    "coordinates": [
      [
        51.731921404763426,
        14.342405595236764
      ],
      [
        51.731914999999994,
        14.342412
      ],
      [
        51.73192399392278,
        14.342408729482642
      ],
      [
        51.73193,
        14.342416000000004
      ],
      [ …
Run Code Online (Sandbox Code Playgroud)

javascript ajax google-maps geojson

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

如何在javascript中将字符串数据转换为Geojson

我有一个字符串变量作为javascript中的statesData,当我在控制台中将它作为console.log(statesData)打印时,它给我输出为

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Polygon",
                "coordinates": [
                    [
                        [
                            74.987712893238,
                            16.4611124595779
                        ],
                        [
                            75.0794873366632,
                            16.4216041790002
                        ],
                        [
                            74.9914167945422,
                            16.5154363453721
                        ],
                        [
                            74.987712893238,
                            16.4611124595779
                        ]
                    ]
                ]
            },
            "properties": {
                "f1": "Bagalkot District",
                "f2": 4,
                "f3": 0.0327269593968744
            }
        },
        {
            "type": "Feature",
            "geometry": {
                "type": "Polygon",
                "coordinates": [
                    [
                        [
                            75.6708769115599,
                            14.7838624856797
                        ],
                        [
                            75.7046235678866,
                            14.7698699696418
                        ],
                        [
                            75.7497789666211,
                            14.9338893073175
                        ],
                        [
                            75.6988619436357,
                            14.9320185378459
                        ],
                        [
                            75.721037483182,
                            14.8603111097135
                        ],
                        [
                            75.6708769115599,
                            14.7838624856797
                        ] …
Run Code Online (Sandbox Code Playgroud)

javascript json geojson leaflet

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

在Leaflet Map中绘制之前将GeoJSON多边形转换为点

我有一个GeoJSON数据集,它有点和多边形.我有一个简单的Leaflet代码,可以将它们读入地图,如下所示:

var MyLayer = new L.GeoJSON.AJAX("/UrbanSyntax/Desarrollo/twitter    /data/boxtest.json", {

pointToLayer: function(feature, latlng) {      
return new L.CircleMarker(latlng, {
  radius: 3,
  fillOpacity: 0.75,
  color: getColor(feature.properties.created_at)
});
},
onEachFeature: function(feature, layer) {
layer.bindPopup(
  feature.properties.created_at + '<br />'
  + feature.geometry.coordinates + '<br />'
  + feature.properties.user  )
}
});
Run Code Online (Sandbox Code Playgroud)

大多数数据都是多边形,但我需要将它们转换为点(多边形中心)以简化地图.我不希望在解析时更改原始GeoJSON,因为稍后可能需要这些多边形.

我不知道在哪里"注入"代码来读取多边形边界,计算一个中心并发送一个latlng来制作一个圆圈标记.就像现在一样,代码读取json中的点和多边形确定,但数据中的多边形太多,因此浏览器会冻结.当我从JSON过滤掉多边形并只映射点时,它可以正常工作.我的想法已经用完了,在JSON章节中,Leaflet文档非常缺乏......我只需要在pointToLayer代码中放置一个if,将点与多边形分开,并将它们全部映射为点.

提前致谢!

有任何想法吗?

javascript gis json geojson leaflet

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