OSMdroid地图源
OSMdroid map source
我只有 javascript 显示 osmdroid 地图源的文件,我使用了
字符串[] OSMSource = 新字符串[1];
OSMSource[0] = "https://gps.4u.uz:55443/styles/bright-v9/";
我打开了这个地址,但是什么都没有,但是gps。4u.uz工作正常。
但我的网格是空的,如果我使用其他来源,它就可以工作。请帮我看看哪里出了问题。我的 javascript 文件只是重定向,它不是为我写的。这就是为什么我很难解决这个问题。这是我的文件:
<div id="maptools"> Map tools (<span id="myposition"></span>)</div>
<div id="bigmap"></div>
<script>
var tailserver = 'https://gps.4u.uz:55443/styles/bright-v9/rendered/{z}/{x}/{y}.png';
//var tailserver = 'http://192.168.123.3:88/styles/bright-v9/rendered/{z}/{x}/{y}.png';
var maptarget = 'bigmap';
var firstloc = [69.279,41.2781];
var markerico = '/images/marker.png';
var companyhtml = '© OOO "Technounit-Group", <a href="http://technounit.uz">http://technounit.uz</a>';
var fstLoc = ol.proj.transform( firstloc, 'EPSG:4326', 'EPSG:3857');
var trackFeature = new ol.Feature({
geometry: new ol.geom.LineString([])
});
var myMarker = new ol.Feature({
type: 'icon',
geometry: new ol.geom.Point(fstLoc)
});
var styles = {
'techno': new ol.style.Style({
image: new ol.style.Icon({
anchor: [0.5, 1],
src: markerico
}),
stroke: new ol.style.Stroke({
color: 'rgba(0,0,255,1.0)',
width: 3,
lineCap: 'round'
})
})
};
var vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector({
features: [myMarker,trackFeature]
}),
style: styles["techno"]
});
var view = new ol.View({
center: fstLoc,
zoom: 15
});
var attribution = [new ol.Attribution({
html: companyhtml
})];
//var rasterLayer = new ol.layer.Tile({
// source: new ol.source.OSM()
//});
var rasterLayer = new ol.layer.Tile({
source: new ol.source.XYZ({
attributions: attribution,
url: tailserver
})
});
var map = new ol.Map({
target: maptarget,
layers: [rasterLayer],
view: view
});
function dotopos(lon,lat){
//var newloc = ol.proj.fromLonLat([lon,lat]);
//alert("To loc: "+lon+', '+lat);
var newloc = ol.proj.transform([lon,lat], 'EPSG:4326', 'EPSG:3857');
//alert("NewLoc: "+newloc);
//trackFeature.getGeometry().appendCoordinate(newloc);
view.setCenter(newloc);
myMarker.setGeometry(new ol.geom.Point(newloc));
}
function dotoposicon(lon,lat){
var newloc = ol.proj.transform([lon,lat], 'EPSG:4326', 'EPSG:3857');
view.setCenter(newloc);
myMarker.setGeometry(new ol.geom.Point(newloc));
}
function doRefresh(){
//$(".coordsmsg").append('<font style="color:red; ">...</font>');
$.ajax({
type: "POST",
url: "/track/coords.php",
data: "f=eventform",
success: function( res ){
//alert(res);
var gpsdata = jQuery.parseJSON( res );
if( gpsdata.lon > 0 && gpsdata.lat> 0 ){
$(".coordsmsg").text("New coords("+gpsdata.date+"): "+gpsdata.lon+', '+gpsdata.lat);
var lon = parseFloat(gpsdata.lon);
var lat = parseFloat(gpsdata.lat);
//dotopos(lon,lat);
}
setTimeout('doRefresh()', 10000);
}
});
}
//doRefresh();
</script>
osmdroid,android 地图库,原生使用 Z/X/Y 瓦片坐标参考系统,与
使用相同
- openstreetmaps.org
- google 地图(静态图块)
- bing
- mapquest
- 地图框
- 某些 USGS 来源
- 还有更多
其中大部分的 url 模式几乎是普遍的,http://server:port/path/zoom/x/y.png
请参阅 openstreetmap wiki,了解坐标的含义:http://wiki.openstreetmap.org/wiki/Slippy_Map
长话短说,使用 osmdroid 解决问题的最简单方法如下:
mMapView.setTileSource(new XYTileSource(
"bright-v9",0,22,256,"", new String[]{"https://gps.4u.uz:55443/styles/bright-v9/"}
));
我只有 javascript 显示 osmdroid 地图源的文件,我使用了
字符串[] OSMSource = 新字符串[1];
OSMSource[0] = "https://gps.4u.uz:55443/styles/bright-v9/";
我打开了这个地址,但是什么都没有,但是gps。4u.uz工作正常。
但我的网格是空的,如果我使用其他来源,它就可以工作。请帮我看看哪里出了问题。我的 javascript 文件只是重定向,它不是为我写的。这就是为什么我很难解决这个问题。这是我的文件:
<div id="maptools"> Map tools (<span id="myposition"></span>)</div>
<div id="bigmap"></div>
<script>
var tailserver = 'https://gps.4u.uz:55443/styles/bright-v9/rendered/{z}/{x}/{y}.png';
//var tailserver = 'http://192.168.123.3:88/styles/bright-v9/rendered/{z}/{x}/{y}.png';
var maptarget = 'bigmap';
var firstloc = [69.279,41.2781];
var markerico = '/images/marker.png';
var companyhtml = '© OOO "Technounit-Group", <a href="http://technounit.uz">http://technounit.uz</a>';
var fstLoc = ol.proj.transform( firstloc, 'EPSG:4326', 'EPSG:3857');
var trackFeature = new ol.Feature({
geometry: new ol.geom.LineString([])
});
var myMarker = new ol.Feature({
type: 'icon',
geometry: new ol.geom.Point(fstLoc)
});
var styles = {
'techno': new ol.style.Style({
image: new ol.style.Icon({
anchor: [0.5, 1],
src: markerico
}),
stroke: new ol.style.Stroke({
color: 'rgba(0,0,255,1.0)',
width: 3,
lineCap: 'round'
})
})
};
var vectorLayer = new ol.layer.Vector({
source: new ol.source.Vector({
features: [myMarker,trackFeature]
}),
style: styles["techno"]
});
var view = new ol.View({
center: fstLoc,
zoom: 15
});
var attribution = [new ol.Attribution({
html: companyhtml
})];
//var rasterLayer = new ol.layer.Tile({
// source: new ol.source.OSM()
//});
var rasterLayer = new ol.layer.Tile({
source: new ol.source.XYZ({
attributions: attribution,
url: tailserver
})
});
var map = new ol.Map({
target: maptarget,
layers: [rasterLayer],
view: view
});
function dotopos(lon,lat){
//var newloc = ol.proj.fromLonLat([lon,lat]);
//alert("To loc: "+lon+', '+lat);
var newloc = ol.proj.transform([lon,lat], 'EPSG:4326', 'EPSG:3857');
//alert("NewLoc: "+newloc);
//trackFeature.getGeometry().appendCoordinate(newloc);
view.setCenter(newloc);
myMarker.setGeometry(new ol.geom.Point(newloc));
}
function dotoposicon(lon,lat){
var newloc = ol.proj.transform([lon,lat], 'EPSG:4326', 'EPSG:3857');
view.setCenter(newloc);
myMarker.setGeometry(new ol.geom.Point(newloc));
}
function doRefresh(){
//$(".coordsmsg").append('<font style="color:red; ">...</font>');
$.ajax({
type: "POST",
url: "/track/coords.php",
data: "f=eventform",
success: function( res ){
//alert(res);
var gpsdata = jQuery.parseJSON( res );
if( gpsdata.lon > 0 && gpsdata.lat> 0 ){
$(".coordsmsg").text("New coords("+gpsdata.date+"): "+gpsdata.lon+', '+gpsdata.lat);
var lon = parseFloat(gpsdata.lon);
var lat = parseFloat(gpsdata.lat);
//dotopos(lon,lat);
}
setTimeout('doRefresh()', 10000);
}
});
}
//doRefresh();
</script>
osmdroid,android 地图库,原生使用 Z/X/Y 瓦片坐标参考系统,与
使用相同- openstreetmaps.org
- google 地图(静态图块)
- bing
- mapquest
- 地图框
- 某些 USGS 来源
- 还有更多
其中大部分的 url 模式几乎是普遍的,http://server:port/path/zoom/x/y.png
请参阅 openstreetmap wiki,了解坐标的含义:http://wiki.openstreetmap.org/wiki/Slippy_Map
长话短说,使用 osmdroid 解决问题的最简单方法如下:
mMapView.setTileSource(new XYTileSource(
"bright-v9",0,22,256,"", new String[]{"https://gps.4u.uz:55443/styles/bright-v9/"}
));