【问题标题】:How can I get the latitude and longitude properties of my json and then transform them into an array?如何获取我的 json 的纬度和经度属性,然后将它们转换为数组?
【发布时间】:2021-02-15 20:18:25
【问题描述】:

我有一个json,其中有几个我感兴趣的属性是每个对象的纬度和经度,然后用传单创建一条折线,json是这样的:

   {
        "id": 201,
        "clientid": "cf1",
        "description": "devices 4",
        "latitude": -22.33085,
        "longitude": -68.8210916,
    },
    {
       "id": 202,
       "clientid": "Cf2",
       "description": "devices 5",
       "latitude": -22.3309583,
       "longitude": -68.8212233,
       
    },
    {
        "id": 203,
        "clientid": "Cf3",
        "description": "devices 6",
        "latitude": -22.3343583,
        "longitude": -68.8252116,
     },
    {
        "id": 204,
        "clientid": "Cf4",
        "description": "devices 7",
        "latitude": -22.3358783,
        "longitude": -68.82457,
     },
    {
       "id": 201,
       "clientid": "Cf4",
       "latitude": -22.341195,
       "longitude": -68.8270966,
     }

以下代码显示了我如何获取数据以及如何拥有组件

    const getAllData = () => {
     try {
      getData()
      .then(res => {
      let data = res.body;
      info = data;
      console.log(info);
      return info;
    })
    } catch (error) {
      console.error(error);
  }
}


const options = {
  center: [-23.76875, -70.304484],
  zoom: 13,
  };

     <Map data={options}>
      {#each info as item }
        <Maps
        id={item.id}
        clientid={item.clientid}
        latitude={item.latitude}
        longitude={item.longitude}
        description={item.description}
        />
        {/each}
     </Map>

在我的地图组件中,我有以下逻辑,这是我必须获取经度和纬度数组以将其传递给折线组件并绘制线条的地方,这是我不太明白该怎么做

  export let id;
  export let clientid;
  export let latitude;
  export let longitude;
  export let description;



const tileUrl = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";

  const tileLayerOptions = {
    minZoom: 4,
    maxZoom: 22,
    maxNativeZoom: 19,
    
  }
 
  let latLngs = [[latitude,longitude],[latitude,longitude]]

 <TitleLayer url={tileUrl} options={tileLayerOptions}/>
  <Market latLng={[ latitude, longitude]}>
 <PopUp>
  <p>
   Description: {description}
  </p>
  </PopUp>
  </Market>
<Polyline latLngs={[latLngs]}/>

  

【问题讨论】:

    标签: javascript arrays leaflet svelte polyline


    【解决方案1】:

    在传单中,LatLngExpression 等于 [lat, lng],所以在您的情况下,它给出了 let latLngs = [latitude, longitude]

    【讨论】:

    • 我理解,但它们是我所做的通用组件,问题是如何将 json 的所有经度和纬度数据带到能够用折线绘制线条
    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2010-10-11
    • 1970-01-01
    相关资源
    最近更新 更多