如何读取这个本地 json 文件,并在 Adroid 上使用 Markers 获取地图上的坐标渲染?
How to read this local json file, and get the coordinates rendering on map with Markers on Adroid?
我的问题是读取本地 json 文件并获取坐标,这里是导入文件的一些代码:
const data = require('./3ª Légua-Oriental-Nossa Senhora das Graças.json');
并且我需要通过id搜索将它提取到这个参数坐标标记,并显示到我的地图:
{data.map(
(coordinates, index, title) => (
<MapView.Marker
key={`coordinate_${index}`}
title={'Ponto'}
coordinate={{
latitude: coordinates.latitude,
longitude: coordinates.longitude,
}}>
</MapView.Marker>
)
)}
这里是 json.file 代码,例如:
[
{
"id": "1",
"latitude": "-29.271225",
"longitude": "-51.1895903",
"horario de inicio": "05:55:00"
},
{
"id": "2",
"latitude": "-29.2511256",
"longitude": "-51.1932803",
"horario de inicio": ""
},
{
"id": "3",
"latitude": "-29.2434067",
"longitude": "-51.1985995",
"horario de inicio": ""
},
{
"id": "4",
"latitude": "-29.2358186",
"longitude": "-51.1889452",
"horario de inicio": ""
},
{
"id": "5",
"latitude": "-29.2315023",
"longitude": "-51.1893468",
"horario de inicio": ""
}
]
我在这里得到了这个问题的答案是修改:
这个:
{data.map(
(coordinates, index, title) => (
<MapView.Marker
key={`coordinate_${index}`}
title={'Ponto'}
coordinate={{
latitude: coordinates.latitude,
longitude: coordinates.longitude,
}}>
</MapView.Marker>
)
)}
至:
{locations.map(
(locations, id, latitude, longitude, hora) => (
console.log(locations.latitude, locations.latitude),
(
<MapView.Marker
onPress={this.handleMapPress}
ref={mark => (locations.mark = mark)}
key={id}
title={'Parada'}
description={locations.hora}
coordinate={{
latitude: JSON.parse(locations.latitude),
longitude: JSON.parse(locations.longitude),
}}>
<Image
onPress={e => this.onPressMarker(e, id)}
source={
this.state.selectedMarkerIndex === id
? placholder2
: placholder
}
style={styles.icon}
/>
</MapView.Marker>
)
)
)}
代码 :JSON.parse(reference.latitude),
可以从本地 json 文件中读取坐标。
下面是一个小吃示例中的完整代码,请随意使用此代码,可能会挽救一些生命.. hehehe
这里是 link:Map marker with a json coordinates
下面的代码有一个好处,可以从地图中的 PinMarker 获取地址,动画图标变化...
我的问题是读取本地 json 文件并获取坐标,这里是导入文件的一些代码:
const data = require('./3ª Légua-Oriental-Nossa Senhora das Graças.json');
并且我需要通过id搜索将它提取到这个参数坐标标记,并显示到我的地图:
{data.map(
(coordinates, index, title) => (
<MapView.Marker
key={`coordinate_${index}`}
title={'Ponto'}
coordinate={{
latitude: coordinates.latitude,
longitude: coordinates.longitude,
}}>
</MapView.Marker>
)
)}
这里是 json.file 代码,例如:
[
{
"id": "1",
"latitude": "-29.271225",
"longitude": "-51.1895903",
"horario de inicio": "05:55:00"
},
{
"id": "2",
"latitude": "-29.2511256",
"longitude": "-51.1932803",
"horario de inicio": ""
},
{
"id": "3",
"latitude": "-29.2434067",
"longitude": "-51.1985995",
"horario de inicio": ""
},
{
"id": "4",
"latitude": "-29.2358186",
"longitude": "-51.1889452",
"horario de inicio": ""
},
{
"id": "5",
"latitude": "-29.2315023",
"longitude": "-51.1893468",
"horario de inicio": ""
}
]
我在这里得到了这个问题的答案是修改:
这个:
{data.map(
(coordinates, index, title) => (
<MapView.Marker
key={`coordinate_${index}`}
title={'Ponto'}
coordinate={{
latitude: coordinates.latitude,
longitude: coordinates.longitude,
}}>
</MapView.Marker>
)
)}
至:
{locations.map(
(locations, id, latitude, longitude, hora) => (
console.log(locations.latitude, locations.latitude),
(
<MapView.Marker
onPress={this.handleMapPress}
ref={mark => (locations.mark = mark)}
key={id}
title={'Parada'}
description={locations.hora}
coordinate={{
latitude: JSON.parse(locations.latitude),
longitude: JSON.parse(locations.longitude),
}}>
<Image
onPress={e => this.onPressMarker(e, id)}
source={
this.state.selectedMarkerIndex === id
? placholder2
: placholder
}
style={styles.icon}
/>
</MapView.Marker>
)
)
)}
代码 :JSON.parse(reference.latitude),
可以从本地 json 文件中读取坐标。
下面是一个小吃示例中的完整代码,请随意使用此代码,可能会挽救一些生命.. hehehe
这里是 link:Map marker with a json coordinates 下面的代码有一个好处,可以从地图中的 PinMarker 获取地址,动画图标变化...