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
来源:中州西鹿
文章版权归作者所有,未经允许请勿转载。

THE END
分享
GoogleMapv3API详解,该怎么解决我曾经用这个做过google
setMap(map);api实现地图定位获取两点间的实际行车路径主要是使用谷歌地图的DirectionsService服务。setMap(map);加载离线谷歌地图的方法加载离线谷歌地图的方法谷歌”即会显示在线的谷歌卫星地图窗口。html”,如果操作无误,将会显示离线的卫星地图。API加载谷歌地图的方法,你可以根据实际需求对“D:TestGoogleMapAPIV3Example_GoogleMapAPI.
<<上一篇
下一篇>>
文章目录
关闭
目 录