我有以下JSON,我如何将其捕捉到Road Android Google Maps



以下 Json 有路附近地方的经度和纬度。我希望这些线被折断到路上...但我尝试过,失败了。只想在道路上绘制折线,以便计算从一条道路 LatLang 到另一条道路的距离。

 {
    snappedPoints: [
    {
    location: {
    latitude: -35.27800489993019,
    longitude: 149.129531998742
    },
    originalIndex: 0,
    placeId: "ChIJr_xl0GdNFmsRsUtUbW7qABM"
    },
    {
    location: {
    latitude: -35.2784195,
    longitude: 149.12946589999999
    },
    placeId: "ChIJr_xl0GdNFmsRsUtUbW7qABM"
    },
    {
    location: {
    latitude: -35.2784195,
    longitude: 149.12946589999999
    },
    placeId: "ChIJ6aXGemhNFmsRZE_zHqhmrG4"
    },
    {
    location: {
    latitude: -35.2792731,
    longitude: 149.12933809999998
    },
    placeId: "ChIJ6aXGemhNFmsRZE_zHqhmrG4"
    },
    {
    location: {
    latitude: -35.2792731,
    longitude: 149.12933809999998
    },
    placeId: "ChIJTcTdZ2hNFmsRXokM4mWCWfk"
    },
    {
    location: {
    latitude: -35.279557,
    longitude: 149.1292973
    },
    placeId: "ChIJTcTdZ2hNFmsRXokM4mWCWfk"
    },
    {
    location: {
    latitude: -35.279557,
    longitude: 149.1292973
    },
    placeId: "ChIJiUfNQmhNFmsRSsAI-1m6y1g"
    },
    {
    location: {
    latitude: -35.279610999999996,
    longitude: 149.1292889
    },
    placeId: "ChIJiUfNQmhNFmsRSsAI-1m6y1g"
    },
    {
    location: {
    latitude: -35.2796484,
    longitude: 149.1292791
    },
    placeId: "ChIJiUfNQmhNFmsRSsAI-1m6y1g"
    },
    {
    location: {
    latitude: -35.2796484,
    longitude: 149.1292791
    },
    placeId: "ChIJ_RyFQ2hNFmsRoHJAbW7qABM"
    },
    {
    location: {
    latitude: -35.279947299999996,
    longitude: 149.1291894
    },
    placeId: "ChIJ_RyFQ2hNFmsRoHJAbW7qABM"
    },
    {
    location: {
    latitude: -35.279947299999996,
    longitude: 149.1291894
    },
    placeId: "ChIJOyypT2hNFmsRZBtscGL0htw"
    },
    {
    location: {
    latitude: -35.28032356479501,
    longitude: 149.12909031283647
    },
    originalIndex: 1,
    placeId: "ChIJOyypT2hNFmsRZBtscGL0htw"
    },
    {
    location: {
    latitude: -35.2803426,
    longitude: 149.12908529999999
    },
    placeId: "ChIJOyypT2hNFmsRZBtscGL0htw"
    },
    {
    location: {
    latitude: -35.2803426,
    longitude: 149.12908529999999
    },
    placeId: "ChIJr8xRTGhNFmsRzMb-rxgjspc"
    },
    {
    location: {
    latitude: -35.280409899999995,
    longitude: 149.1290699
    },
    placeId: "ChIJr8xRTGhNFmsRzMb-rxgjspc"
    },
    {
    location: {
    latitude: -35.28048179999999,
    longitude: 149.129062
    },
    placeId: "ChIJr8xRTGhNFmsRzMb-rxgjspc"
    },
    {
    location: {
    latitude: -35.2805541,
    longitude: 149.1290623
    },
    placeId: "ChIJr8xRTGhNFmsRzMb-rxgjspc"
    },
    {
    location: {
    latitude: -35.280626,
    longitude: 149.1290712
    },
    placeId: "ChIJr8xRTGhNFmsRzMb-rxgjspc"
    },
    {
    location: {
    latitude: -35.280626,
    longitude: 149.1290712
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.280695099999996,
    longitude: 149.12908489999998
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.2807629,
    longitude: 149.1291046
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.2808294,
    longitude: 149.1291306
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.2809064,
    longitude: 149.1291693
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.280968200000004,
    longitude: 149.129208
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.28101395754623,
    longitude: 149.1292430025548
    },
    originalIndex: 2,
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.28103840000001,
    longitude: 149.1292617
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.2810936,
    longitude: 149.1293121
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.2810979,
    longitude: 149.1293176
    },
    placeId: "ChIJv5r0smlNFmsR5nunau79Fv4"
    },
    {
    location: {
    latitude: -35.2810979,
    longitude: 149.1293176
    },
    placeId: "ChIJpYMSrmlNFmsRXkCoIkZxgBg"
    },
    {
    location: {
    latitude: -35.281152399999996,
    longitude: 149.1294256
    },
    placeId: "ChIJpYMSrmlNFmsRXkCoIkZxgBg"
    },
    {
    location: {
    latitude: -35.281152399999996,
    longitude: 149.1294256
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2811784,
    longitude: 149.1294706
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2812258,
    longitude: 149.1295413
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2812771,
    longitude: 149.12960759999999
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.281332,
    longitude: 149.1296695
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2813904,
    longitude: 149.12972670000002
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.281451700000005,
    longitude: 149.1297788
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.28146506991143,
    longitude: 149.12978858234607
    },
    originalIndex: 3,
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.28151580000001,
    longitude: 149.1298257
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.28158259999999,
    longitude: 149.129867
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.281666099999995,
    longitude: 149.1299091
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2817377,
    longitude: 149.1299379
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.281810899999996,
    longitude: 149.1299602
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.281884999999996,
    longitude: 149.1299765
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.28194399606459,
    longitude: 149.1299842294294
    },
    originalIndex: 4,
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.281959799999996,
    longitude: 149.12998629999998
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.282035199999996,
    longitude: 149.1299895
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2821254,
    longitude: 149.1299851
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.282199999999996,
    longitude: 149.1299743
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2822739,
    longitude: 149.1299573
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2823468,
    longitude: 149.129934
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2824178,
    longitude: 149.1299043
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2824379,
    longitude: 149.1298945
    },
    placeId: "ChIJ601MoWlNFmsR5mvkfPp2ovA"
    },
    {
    location: {
    latitude: -35.2824379,
    longitude: 149.1298945
    },
    placeId: "ChIJe9LPnWlNFmsR7mJw8mYHwG0"
    },
    {
    location: {
    latitude: -35.282472999999996,
    longitude: 149.1298835
    },
    placeId: "ChIJe9LPnWlNFmsR7mJw8mYHwG0"
    },
    {
    location: {
    latitude: -35.2825375,
    longitude: 149.1298525
    },
    placeId: "ChIJe9LPnWlNFmsR7mJw8mYHwG0"
    },
    {
    location: {
    latitude: -35.28257309999999,
    longitude: 149.1298319
    },
    placeId: "ChIJe9LPnWlNFmsR7mJw8mYHwG0"
    },
    {
    location: {
    latitude: -35.28257309999999,
    longitude: 149.1298319
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.282665400000006,
    longitude: 149.12974459999998
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.28274030000001,
    longitude: 149.1296645
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.282809799999995,
    longitude: 149.12957799999998
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.28282136229385,
    longitude: 149.12956142620385
    },
    originalIndex: 5,
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.2828744,
    longitude: 149.1294854
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.282922299999996,
    longitude: 149.1294044
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.282931500000004,
    longitude: 149.1293876
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.2830263,
    longitude: 149.1291788
    },
    placeId: "ChIJaUpThGlNFmsRMHWxoH7EOsc"
    },
    {
    location: {
    latitude: -35.2830263,
    longitude: 149.1291788
    },
    placeId: "ChIJyd3JiWlNFmsR9RUq2ySTTZQ"
    },
    {
    location: {
    latitude: -35.283054,
    longitude: 149.1290996
    },
    placeId: "ChIJyd3JiWlNFmsR9RUq2ySTTZQ"
    },
    {
    location: {
    latitude: -35.2830794,
    longitude: 149.1290094
    },
    placeId: "ChIJyd3JiWlNFmsR9RUq2ySTTZQ"
    },
    {
    location: {
    latitude: -35.2830794,
    longitude: 149.1290094
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.28313383700836,
    longitude: 149.12893500604943
    },
    originalIndex: 6,
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.283134499999996,
    longitude: 149.12893409999998
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.283190399999995,
    longitude: 149.1288668
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2832503,
    longitude: 149.1288041
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2833133,
    longitude: 149.1287463
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2833794,
    longitude: 149.128694
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.283448299999996,
    longitude: 149.128647
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2835199,
    longitude: 149.1286054
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2835934,
    longitude: 149.1285699
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.283668899999995,
    longitude: 149.12854059999998
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.28372649999999,
    longitude: 149.1285237
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.28386179999999,
    longitude: 149.12849319999998
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2839978,
    longitude: 149.1284682
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2840205,
    longitude: 149.12846779999998
    },
    placeId: "ChIJWSb8ImpNFmsRp_4JAxJFE1A"
    },
    {
    location: {
    latitude: -35.2840205,
    longitude: 149.12846779999998
    },
    placeId: "ChIJZe8tFWpNFmsR4brZ1vldk2E"
    },
    {
    location: {
    latitude: -35.2840524,
    longitude: 149.12845969999998
    },
    placeId: "ChIJZe8tFWpNFmsR4brZ1vldk2E"
    },
    {
    location: {
    latitude: -35.284341500000004,
    longitude: 149.1284124
    },
    placeId: "ChIJZe8tFWpNFmsR4brZ1vldk2E"
    },
    {
    location: {
    latitude: -35.2843875,
    longitude: 149.1284034
    },
    placeId: "ChIJZe8tFWpNFmsR4brZ1vldk2E"
    },
    {
    location: {
    latitude: -35.2843875,
    longitude: 149.1284034
    },
    placeId: "ChIJVx7Ta2pNFmsRx9OI9CnN5tI"
    },
    {
    location: {
    latitude: -35.2845916,
    longitude: 149.1283726
    },
    placeId: "ChIJVx7Ta2pNFmsRx9OI9CnN5tI"
    },
    {
    location: {
    latitude: -35.2845916,
    longitude: 149.1283726
    },
    placeId: "ChIJtWxAZmpNFmsRlbUCkc6VtnA"
    },
    {
    location: {
    latitude: -35.28459730000001,
    longitude: 149.1283703
    },
    placeId: "ChIJtWxAZmpNFmsRlbUCkc6VtnA"
    },
    {
    location: {
    latitude: -35.28472874719938,
    longitude: 149.12834860726772
    },
    originalIndex: 7,
    placeId: "ChIJtWxAZmpNFmsRlbUCkc6VtnA"
    }
    ]
    }

最好在您的问题中提供更多细节。我们不知道您已经尝试过什么。我还没有使用过Android的谷歌地图,但考虑到它使用得很好,记录在案,应该不会那么困难。

在 Google Dev 网站上快速搜索后,我会将您的 json 转换为更有用的东西,例如数组或对象,甚至是经度/经度的键值对。

然后,您需要将折线添加到Google地图对象中,以"绘制"每个坐标之间的线条。

// Instantiates a new Polyline object and adds points to define route
PolylineOptions rectOptions = new PolylineOptions()
        .add(new LatLng(37.35, -122.0))
        .add(new LatLng(37.45, -122.0))  
        .add(new LatLng(37.45, -122.2))  
        .add(new LatLng(37.35, -122.2))  
        .add(new LatLng(37.35, -122.0)); 
// Get back the mutable Polyline
Polyline polyline = myMap.addPolyline(rectOptions);

取自 https://developers.google.com/maps/documentation/android-api/shapes

还有一个GeoJSON实用程序,可以将地理位置点的JSONObject直接转换为地图。 https://developers.google.com/maps/documentation/android-api/utility/geojson

谷歌地图的大量教程从不介意谷歌自己的文档。

祝你好运

最新更新