0
我被要求做一個應用程序,它可以幫助學生與學術Block.The問題裏面最短的他的課路線導航不過是,如何可以創建這樣的地圖這將有房間,樓層,如果可能的話,這樣的校園內所有建築物的詳細室內地圖?創建地圖建築室內的Android設備
我被要求做一個應用程序,它可以幫助學生與學術Block.The問題裏面最短的他的課路線導航不過是,如何可以創建這樣的地圖這將有房間,樓層,如果可能的話,這樣的校園內所有建築物的詳細室內地圖?創建地圖建築室內的Android設備
我可以舉一個例子網頁;我不知道機器人編程
它包含了1樓,有幾個房間。和按鈕來選擇關卡。也許它可以給你一些啓發。
我想你需要一些高程數據。
而對於導航想想樓梯和電梯。
<!DOCTYPE html>
<html>
<head>
<title>Indoor Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 80%;
}
</style>
<script>
var map;
var infowindow;
var buildingPolyLine;
var roomsPolylines = [];
var activeLevel = 0;
// VUB - Brussels university - Building G with a few rooms
var building = {
"name": "Building G",
"color": "#ff0000",
nodes: [
[50.8217232994024, 4.397075700799178],
[50.82232714536237, 4.3975462942398735],
[50.8224010730568, 4.397200047969818],
[50.82182496608163, 4.396712368707085]
]
};
var rooms = [{
"name": "Parking",
"level": "0",
"color": "#0000ff",
nodes: [
[50.82230750704816, 4.397481197138404],
[50.82235988170447, 4.397291001687336],
[50.822044870401214, 4.397048382465982],
[50.82199380856154, 4.39725003087915]
]
},
{
"name": "1G003",
"level": "1",
"color": "#0000ff",
nodes: [
[50.82234196105868, 4.397353604435921],
[50.82231750839912, 4.397428280481108],
[50.82223654023366, 4.397366375092133],
[50.822261380536176, 4.397290787105703]
]
},
{
"name": "1G009",
"level": "1",
"color": "#0000ff",
nodes: [
[50.82219283244282, 4.397244183713838],
[50.82216991951639, 4.397315503651953],
[50.82211850835268, 4.397274663667758],
[50.822140266976895, 4.397204862530089]
]
},
{
"name": "2G10",
"level": "2",
"color": "#0000ff",
nodes: [
[50.8223601104488, 4.397285516533884],
[50.82230697331296, 4.3974744915340125],
[50.82215986306273, 4.397342808561007],
[50.8222137798275, 4.3971696853441244]
]
}
];
// return a polyline. If you give 2 points, it will simply be a line
function makePolyline(points, color, close, title, visible) {
if (close) {
points.push(points[0]); // closed polyline, ...
}
var onMap = visible ? map : null;
return new google.maps.Polyline({
path: points,
//geodesic: true,
strokeColor: color, // '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2,
title: title,
map: onMap // we will let the Level buttons turn on the right rooms
});
}
function initMap() {
var myLocation = {
lat: 50.822,
lng: 4.397
};
map = new google.maps.Map(document.getElementById('map'), {
center: myLocation,
zoom: 17
});
// plot building
var points = [];
for (var i in building.nodes) {
points.push({
lat: building.nodes[i][0],
lng: building.nodes[i][1]
});
}
var buildingPolyLine = makePolyline(points, building.color, true, building.name, true);
// plot building
for (var j in rooms) {
points = [];
for (var i in rooms[j].nodes) {
points.push({
lat: rooms[j].nodes[i][0],
lng: rooms[j].nodes[i][1]
});
}
roomsPolylines.push(makePolyline(points, rooms[j].color, true, rooms[j].name, false));
}
// activate level 0
setLevel(0);
}
function setLevel(level) {
for (var j in rooms) {
if (level == rooms[j].level) {
roomsPolylines[j].setMap(map);
} else {
roomsPolylines[j].setMap(null);
}
}
}
</script>
</head>
<body>
<div id="map"></div>
Level
<input type="button" onclick="setLevel(0)" value="0" />
<input type="button" onclick="setLevel(1)" value="1" />
<input type="button" onclick="setLevel(2)" value="2" />
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap" async defer></script>
</body>
</html>
肯定。您可以在地圖上繪製(多邊形)線條;他們可以匹配建築物的牆壁。你準確的問題是什麼?另一件事是GPS的準確性;可能這在室內不夠準確。你有建築物的建築計劃(可能是簡化的)嗎?您可以添加掉在地上 –
我的意思是,我需要創建多個樓層和rooms.Yes一個建築,我可以要求從用戶的樓層室內地圖的按鈕,但在那之後,他應該看到與他位置的地圖和他註定的房間。那麼我申請的Dijkstra算法中的最短path.The創建地圖的是impediment.Please幫助。 – Ashish