GoogleMapv3API详解,该怎么解决我曾经用这个做过google
关于Google map api 开发
google map里没有这样的函数判断位置和所在区域的关系,只能够构造一个规则的区域如矩形,根据矩形区域四个顶点的经纬度数据确定边界。如果是不规则边界如省界,则需要通过自己描边界,边界一般保存成KML格式文件再和该区域地址做个关联,加载该地址经纬度时同时也加载上关联的kml文件。
GoogleMap v3 API详解,该怎么解决
我曾经用这个做过google离线地图的展示和渲染,下面是相关代码:
加载本地地图的函数:
functionLocalMapType(){}
LocalMapType.prototype.tileSize=newgoogle.maps.Size(256,256);
LocalMapType.prototype.maxZoom=13;//地图显示最大级别
LocalMapType.prototype.minZoom=9;//地图显示最小级别
LocalMapType.prototype.name="本地";//本地按钮,就是离线地图
LocalMapType.prototype.alt="显示本地地图";//显示本地地图可能会出现不清晰的现象
LocalMapType.prototype.getTile=function(coord,zoom,ownerDocument){
varimg=ownerDocument.createElement("img");
img.style.width=this.tileSize.width+"px";
img.style.height=this.tileSize.height+"px";
//访问本地图片的算法,不同的地图切图工具对应的算法不同
varstrURL="gmap/tiles/"+zoom+"/"+coord.x+"/"+coord.y+".png";
img.src=strURL;
returnimg;
};
varlocalMapType=newLocalMapType();
初始化地图函数:
functioninitialize(){
//以该经纬度为中心居中显示,注意google一般先写纬度,在写经度
varmyLatlng=newgoogle.maps.LatLng(30.51667,114.31667);
varmyOptions={
center:myLatlng,
zoom:10,//初始化地图默认级别
streetViewControl:false,//默认不显示全景图
mapTypeControlOptions:{
mapTypeIds:["local",google.maps.MapTypeId.ROADMAP]//地图类型为普通街道地图
}
};
varmap=newgoogle.maps.Map(document.getElementById("map_canvas"),myOptions);
map.mapTypes.set('local',localMapType);
map.setMapTypeId('local');
//设置地图瓦片大小为256*256
map.overlayMapTypes.insertAt(0,newCoordMapType(newgoogle.maps.Size(256,256)));
html代码:
bodyonload="initialize()"
divid="map_canvas"style="width:80%;height:630px;"/div
/body
在离线的情况下渲染离线地图:
1.加载图片:
varimage='icon/0.png';//存放图片的路径
varmyLatLng=newgoogle.maps.LatLng(30.51667,114.31667);//图片显示的地方
varbeachMarker=newgoogle.maps.Marker({
position:myLatLng,
map:map,
icon:image
});
2.画折线:
varflightPlanCoordinates=[
newgoogle.maps.LatLng(30.51667,114.31667),
newgoogle.maps.LatLng(30.50667,114.32667),
newgoogle.maps.LatLng(30.40667,114.30667)
];
varflightPath=newgoogle.maps.Polyline({
path:flightPlanCoordinates,
strokeColor:"#FF0000",
strokeOpacity:1.0,
strokeWeight:2
});
flightPath.setMap(map);//如果想还原去掉折线用:flightMap.setMap(null)
3.画圆:
varcitymap={};
citymap['chicago']={
center:newgoogle.maps.LatLng(31.18439,121.49454),
population:284259
};
citymap['newyork']={
center:newgoogle.maps.LatLng(31.38439,121.52454),
population:814319
};
varcityCircle;
for(varcityincitymap){
varpopulationOptions={
strokeColor:"#FF0000",
strokeOpacity:0.8,
strokeWeight:1,
fillColor:"#FF0000",
fillOpacity:0.35,
map:map,
center:citymap[city].center,
radius:citymap[city].population/1000
};
cityCircle=newgoogle.maps.Circle(populationOptions);
}
4.画多边形:
//如果是多边形,最后一个点不需要写成第一个点就可以自动连起来
vartriangleCoords=[
newgoogle.maps.LatLng(30.51667,114.31667),
newgoogle.maps.LatLng(30.50667,114.42667),
newgoogle.maps.LatLng(30.40667,114.30667)
];
bermudaTriangle=newgoogle.maps.Polygon({
paths:triangleCoords,
strokeColor:"#FF0000",
strokeOpacity:0.8,
strokeWeight:2,
fillColor:"#FF0000",
fillOpacity:0.35
});
bermudaTriangle.setMap(map);
希望对你有用。
如何通过google map api实现地图定位
1. 通过 IP 得到地址
2. JavaScript下使用地理译码
varmap=newGMap2(document.getElementById("map"));
vargeocoder=newGClientGeocoder();
functionshowAddress(address){
geocoder.getLatLng(
address,
function(point){
if(!point){
alert(address+"notfound");
}else{
map.setCenter(point,13);
varmarker=newGMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(address);
}
}
);
}
google map api 求告诉如何设定随机目的地。
获取两点间的实际行车路径主要是使用谷歌地图的DirectionsService服务。
//显示实际行车路线
function showpath() {
var directionsService = new google.maps.DirectionsService(); //实例构造
var directionsDisplay = new google.maps.DirectionsRenderer({ markerOptions: {
'map': map
}//行车路线
});
directionsDisplay.setMap(map);
var request = {
origin: pointArr[0], //起点
destination: pointArr[temp], //终点
optimizeWaypoints: false, //为true,重新排列中间路标顺序,最大程度降低路线整体成本
travelMode: google.maps.TravelMode.DRIVING, //驾车路线
unitSystem: google.maps.UnitSystem.METRIC//单位为米
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirection
如何采用离线的 Google Map API 加载离线谷歌地图的方法
如何采用离线的 Google Map API 加载离线谷歌地图的方法
一、下载示例数据
安装万能地图下载器以后,软件启动时会显示选择在线地图的对话框,请选择“卫星.谷歌”即会显示在线的谷歌卫星地图窗口。
由于只是为了作演示说明如何用 Google Map 离线 API 加载谷歌地图的方法,这里我们只需要框选中国范围,即点击工具栏上的“框选下载区域”,然后在视图中绘制选择范围。
在范围中双击鼠标左键,显示新建任务对话框,在该对话框中我们只选择1到7级进行下载即可。
点击“确定”按钮,开始下载卫星地图数据。
下载完成后导出瓦片数据,选择导出类型为“瓦片:Google Map”,保存路为“D:Test”目录。
在对话框中点击“输出”按钮导出Google Map瓦片。
二、地图引擎部署
第一步:将附件中的“GoogleMapAPIV3.rar”下载后解压到“D:Test”目录。
第二步:将“D:Test”目录中的“中国_GoogleMapTiles”重命名为“data”。
第三步:在浏览器中打开“D:TestGoogleMapAPIV3Example_GoogleMapAPI.html”,如果操作无误,将会显示离线的卫星地图。
以上,即是如何用 Google Map 离线 API加载谷歌地图的方法,你可以根据实际需求对“D:TestGoogleMapAPIV3Example_GoogleMapAPI.html”文件进行进一步开发。
版权声明:
作者:中州西鹿谷歌
链接:https://www.gmail777.com/archives/2146
来源:中州西鹿
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论