本篇文章给大家谈谈免费的地图数据调用在哪里,以及可以导入数据的地图软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享免费的地图数据调用在哪里的知识,其中也会对可以导入数据的地图软件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
如何调用高德地图api
先要去注册一个高德平台账号,然后创建一个应用,可以拿到一个appkey。通过这个appkey 在java里面用http请求他的接口就可以拿到信息了,返回的应该是json格式的数据吧。他的接口文档平台上面有。
安卓APP调用百度地图该怎么做?
本篇通过一个简单的示例一步步介绍如何在Android应用中使用百度地图api。
1)下载百度地图移动版API(Android)开发包
要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.jar和libBMapApiEngine.so。下载地址:http://dev.baidu.com/wiki/static/imap/files/BaiduMapApi_Lib_Android_1.0.zip
2)申请API Key
和使用Google map api一样,在使用百度地图API之前也需要获取相应的API Key。百度地图API Key与你的百度账户相关联,因此您必须先有百度帐户,才能获得API Key;并且,该Key与您引用API的程序名称有关。
百度API Key的申请要比Google的简单多了,其实只要你有百度帐号,应该不超过30秒就能完成API Key的申请。申请地址:http://dev.baidu.com/wiki/static/imap/key/
3)创建一个Android工程
这里需要强调一点:百度地图移动版api支持Android 1.5及以上系统,因此我们创建的工程应基于Android SDK 1.5及以上。
工程创建完成后,将baidumapapi.jar和libBMapApiEngine.so分别拷贝到工程的根目录及libs/armeabi目录下,并在工程属性-Java Build Path-Libraries中选择“Add JARs”,选定baidumapapi.jar,这样就可以在应用中使用百度地图API了。
4)在布局文件中添加地图控件(res/layout/main.xml)
[xhtml] view plaincopy
<?xml version="1.0" encoding="utf-8"?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
<com.baidu.mapapi.MapView android:id="@+id/map_View"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
/
</LinearLayout
5)创建Activity继承com.baidu.mapapi.MapActivity
[java] view plaincopy
package com.liufeng.baidumap;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;
public class MainActivity extends MapActivity {
private BMapManager mapManager;
private MapView mapView;
private MapController mapController;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化MapActivity
mapManager = new BMapManager(getApplication());
// init方法的第一个参数需填入申请的API Key
mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null);
super.initMapActivity(mapManager);
mapView = (MapView) findViewById(R.id.map_View);
// 设置地图模式为交通地图
mapView.setTraffic(true);
// 设置启用内置的缩放控件
mapView.setBuiltInZoomControls(true);
// 用给定的经纬度构造一个GeoPoint(纬度,经度)
GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));
// 创建标记maker
Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);
// 为maker定义位置和边界
marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());
// 取得地图控制器对象,用于控制MapView
mapController = mapView.getController();
// 设置地图的中心
mapController.setCenter(point);
// 设置地图默认的缩放级别
mapController.setZoom(12);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
protected void onDestroy() {
if (mapManager != null) {
mapManager.destroy();
mapManager = null;
}
super.onDestroy();
}
@Override
protected void onPause() {
if (mapManager != null) {
mapManager.stop();
}
super.onPause();
}
@Override
protected void onResume() {
if (mapManager != null) {
mapManager.start();
}
super.onResume();
}
}
6)在AndroidManifest.xml中配置
[xhtml] view plaincopy
<?xml version="1.0" encoding="utf-8"?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.liufeng.baidumap"
android:versionCode="1"
android:versionName="1.0"
<application android:icon="@drawable/icon" android:label="@string/app_name"
<activity android:name=".MainActivity" android:label="@string/app_name"
<intent-filter
<action android:name="android.intent.action.MAIN" /
<category android:name="android.intent.category.LAUNCHER" /
</intent-filter
</activity
</application
<uses-sdk android:minSdkVersion="4" /
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /
<uses-permission android:name="android.permission.INTERNET" /
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /
<uses-permission android:name="android.permission.READ_PHONE_STATE" /
</manifest
说明:上面的应用只是简单的展示了百度地图(交通地图),并将一个指定的点(根据经纬度确定)展示在手机屏幕的中心。当然,实际项目中涉及的map应用不会这么简单,百度地图API为我们提供了丰富的功能接口,有待我们一起去研究学习。
您好,请教下,怎样用手机使用免费的高德导航地图啊?
安卓手机都是免费使用
免费的地图数据调用在哪里的
在ios系统
免费的地图数据调用在哪里的iphone、ipad、ipod touch上需要越狱后下载破解版才能免费使用
希望采纳
诺基亚的貌似不行
山寨、非智能机更不行了
百度地图、高德地图的数据从哪里得到的?
最早地图的数据从哪儿来?
最早的地图从哪儿来?难道每一个POI(Point of Interest:信息点)都需要地图商亲自采集?
曾在四维图新工作过四年的工作人员PH告诉雷锋网,最早的基础数据来自“国家测绘局”,像四维图新这种拥有雄厚政府背景,由国家测绘局于92年创建的唯一专业从事测绘的国家级公司,是直接共享数据,其余厂商或需要购买。
但是从国家测绘局拿到的数据并不是完整数据,像偏远的西南地区、环境恶劣的山区等地,地图数据几近空白,这些就需要地图生产商进行补充。PH表示,早在07、08年左右,中国的地图采集覆盖工作已经基本完成,剩下的就是对现有地图的维护和变更地区的更正。
高德的工作人员称,中国的道路变更速度非常快,保持在每年20%到30%的速度,仅2014年,我国新增93800公里公路、7000公里铁路、551公里地铁。因此对地图的维护也需要耗费大量的人力。
有哪几种数据采集方式?
高德介绍,数据采集可以分为车辆采集、步行采集、航拍、众包等模式。
车采
腾讯地图的Rolleima告诉我们,车采有严格的规范,行驶速度大致在30-60公里/小时。车采工程师和街景车司机配合采集道路街景,随时监控采集成果和设备运作。车采对于天气和能见度的评估要求非常高,像北京PM2.5超过200的天气,就无法采集,更不用提阴天下雨的了。
在高德的采集车顶上配有全景摄像头,高德的数据采集系统可以获取包含“道路红绿灯”、“指示牌”“测速探测器”等信息的图像视频,激光扫描仪和测距传感器可以测量出街道的宽度、长度、车道线、隔离带等,高精度惯导系统则可以生成街景及三维地图。
步采
街景车无法采集的区域,则需要使用繁重的设备进行人工采集,目前多数城市的街景都是人工采集的成果。工作人员手持 PDA 和相机前往商厦、学校、商场、银行等场所拍摄照片,再录入到数据采集系统。
Rolleima透露,基于采拍工作的特殊性,腾讯地图对采拍人员有一定的要求:
首先形象健康,不可光头、长须;其次,要有良好的行为习惯,与人和善不易与人冲突,耐性好,具有较好的个人修养;而且,执行力强,对自己工作质量要求严格;当然,身体素质也必过硬,起码能背负足够重的采拍机爬山过河。
高德地图的何宁介称,步采的POI信息处理主要分为四种:新增、修改、删除、不变。当步行到某地,发现原来的餐厅被变更成了银行,直接选择餐厅的POI信息,点击删除后,在原位置新增一个银行POI信息,变更就完成了。
航拍
租借飞机进行航空摄影测量是采集中最高端的做法,目前市场上提供商用的三维地图主要是卫片(卫星拍摄),其分辨率近50公分。不过基于国家安全的考虑,航拍在很多地区都是被限制的。
航拍主要是强化地图的精细度。比如东莞的很多地级市,它的楼密集到人侧身才能通过,即使是人工的数据采集也很难做到。这种时候只有通过航拍才能获得准确信息。
众包模式
PH向我们介绍,地图生产商除了自己进行地理信息采集,还会进行外包,比如一个城市外包,由当地的人员进行采集,或者外包给物流公司。
物流公司的运输车辆上装有GPS导航仪,只传回GPS信息,没有视频和图片,这一部分主要是辅助矫正作用。据高德称,目前有 30 多万辆物流车在回传数据,北京 6 万辆出租车也是使用高德导航服务,他们也能传回大量数据。
另一部分众包则来自UGC,主要是用户的报错反馈。由于新浪微博、阿里等公司都采用高德地图的数据,巨大的用户保有量使得高德每天收到大量用户反馈。高德“增值事业部”每位员工每月可以处理约2300条报错。
数据可以直接使用吗?
高德向我们介绍,
“高德外业实地采集人员获取准确数据后,先将数据提交给内业人员进行数据加工处理,再对原始数据经过编辑、赋值等处理,最后得到可以用来导航的地图数据,目前仅仅地图绘制人员就超过500人。之后,地图要经过向国家测绘部门审图、导航电子地图加密、申请获批出版号、自检自查、测试等等环节,最后才能进入市场流通。”
至于街景方面,目前街景地图并不能保证完全的准确率。主要因为有些地方涉及国家安全问题,如保密建筑,油厂等。通过与国家相关安全部门协议,对于这些地方进行纹理移植操作:不能直接表现的地区,用周围的类似景物覆盖。据悉,有些城市,这种需要处理的地方达万次。
同时,街景地图对车牌、人脸等也负有保护隐私的责任,若照片中存在,将进行马赛克处理。
拥堵信息从何而来?
那实时路段的拥堵信息从何而来?当然不是有人在不同的路口蹲守。
首先是磁浮圈。在道路的下端都有埋有“传感器”,用来感知不同路段的车辆;其次是通过交管局的视频,可以监控不同路段的流量,如果有异常直接在地图上进行标记;最后是浮动车,主要指城市装有GPS的出租车,通过监控车辆的异常行驶速度判断路况。
最后分享一个有趣的问题,在街景方面,有人提出,有没有可能,国内几家比较大的地图公司相互合作,你采A城市,我拍B城市,然后互相提供数据,这样还可以节省成本。就职于腾讯地图的Rolleima告诉我们:
很遗憾,不仅仅是国内,在国外也没有看到过共享街景数据的成功合作。Google、Nokia、Bing等等外国街景地图都是各自在采集各自的数据。基于每家公司原始底层的匹配技术不同,数据的共享难度很大,其次,很多公司都在探索街景的盈利模式,所以占有数据的独享权非常必要。
如何在网页中调用百度地图api
1.进入:http://dev.baidu.com/wiki/static/map/API/tool/creatMap/ (创建地图-百度地图API所见即所得工具,百度官方地址,大家放心使用)
切换城市,搜索需标注位置。(如下图:)
设置地图:大家可以对网站显示地图的宽高进行设置,其余选项不动。
添加标注:点击第一个图标后,在右侧找到自己的位置,单击鼠标左键可定位。标记图标处可更换图标形状,名称和备注填入位置相关信息。(如下图:)
步骤阅读
完成以上4步后,点获取代码。
获取代码如下:(注意:通常我们在网页中只要插入以下代码,小虫标注出来,其余的可不用。)
1.在<head</head间插入下面代码:这是样式和JS脚本。
<!--引用百度地图API--
<style type="text/css"
html,body{margin:0;padding:0;}
.iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap}
.iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}
</style
<script type="text/javascript" src="http://api.map.baidu.com/api?key=v=1.1services=true"</script
2.在<body</body间需要显示地图的位置放入以下代码:(该代码调用地图)
<!--百度地图容器--
<div style="width:697px;height:550px;border:#ccc solid 1px;" id="dituContent"</div
3.以下代码放在页面最底端(其实可放在页面任意位置。)
<script type="text/javascript"
//创建和初始化地图函数:
function initMap(){
createMap();//创建地图
setMapEvent();//设置地图事件
addMapControl();//向地图添加控件
addMarker();//向地图中添加marker
}
//创建地图函数:
function createMap(){
var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图
var point = new BMap.Point(115.949652,28.693851);//定义一个中心点坐标
map.centerAndZoom(point,18);//设定地图的中心点和坐标并将地图显示在地图容器中
window.map = map;//将map变量存储在全局
}
//地图事件设置函数:
function setMapEvent(){
map.enableDragging();//启用地图拖拽事件,默认启用(可不写)
map.enableScrollWheelZoom();//启用地图滚轮放大缩小
map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)
map.enableKeyboard();//启用键盘上下左右键移动地图
}
//地图控件添加函数:
function addMapControl(){
//向地图中添加缩放控件
var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
map.addControl(ctrl_nav);
//向地图中添加缩略图控件
var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});
map.addControl(ctrl_ove);
//向地图中添加比例尺控件
var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
map.addControl(ctrl_sca);
}
//标注点数组
var markerArr = [{title:"百恒网络",content:"电话:0791-88117053<br/手机:15079002975",point:"115.950312|28.693447",isOpen:1,icon:{w:23,h:25,l:46,t:21,x:9,lb:12}}
];
//创建marker
function addMarker(){
for(var i=0;i<markerArr.length;i++){
var json = markerArr[i];
var p0 = json.point.split("|")[0];
var p1 = json.point.split("|")[1];
var point = new BMap.Point(p0,p1);
var iconImg = createIcon(json.icon);
var marker = new BMap.Marker(point,{icon:iconImg});
var iw = createInfoWindow(i);
var label = new BMap.Label(json.title,{"offset":new BMap.Size(json.icon.lb-json.icon.x+10,-20)});
marker.setLabel(label);
map.addOverlay(marker);
label.setStyle({
borderColor:"#808080",
color:"#333",
cursor:"pointer"
});
(function(){
var index = i;
var _iw = createInfoWindow(i);
var _marker = marker;
_marker.addEventListener("click",function(){
this.openInfoWindow(_iw);
});
_iw.addEventListener("open",function(){
_marker.getLabel().hide();
})
_iw.addEventListener("close",function(){
_marker.getLabel().show();
})
label.addEventListener("click",function(){
_marker.openInfoWindow(_iw);
})
if(!!json.isOpen){
label.hide();
_marker.openInfoWindow(_iw);
}
})()
}
}
//创建InfoWindow
function createInfoWindow(i){
var json = markerArr[i];
var iw = new BMap.InfoWindow("<b class='iw_poi_title' title='" + json.title + "'" + json.title + "</b<div class='iw_poi_content'"+json.content+"</div");
return iw;
}
//创建一个Icon
function createIcon(json){
var icon = new BMap.Icon("http://map.baidu.com/image/us_cursor.gif", new BMap.Size(json.w,json.h),{imageOffset: new BMap.Size(-json.l,-json.t),infoWindowOffset:new BMap.Size(json.lb+5,1),offset:new BMap.Size(json.x,json.h)})
return icon;
}
initMap();//创建和初始化地图
</script
当然,如果你想偷懒,将以上对应代码全放在<body</body间也是没问题的,呵呵。
关于免费的地图数据调用在哪里和可以导入数据的地图软件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
免费的地图数据调用在哪里的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于可以导入数据的地图软件、免费的地图数据调用在哪里的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~