googlemap导航api(googlemaps谷歌地图)

如何通过google map api实现地图定位

1. 通过 IP 得到地址 

2. JavaScript下使用地理译码 

var map = new GMap2(document.getElementById("map"));  

var geocoder = new GClientGeocoder();  

  

function showAddress(address) {  

  geocoder.getLatLng(  

    address,  

    function(point) {  

      if (!point) {  

        alert(address + " not found");  

      } else {  

        map.setCenter(point, 13);  

        var marker = new GMarker(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:\Test\GoogleMapAPIV3\Example_GoogleMapAPI.html”,如果操作无误,将会显示离线的卫星地图。

以上,即是如何用 Google Map 离线 API加载谷歌地图的方法,你可以根据实际需求对“D:\Test\GoogleMapAPIV3\Example_GoogleMapAPI.html”文件进行进一步开发。

GoogleMap v3 API详解,该怎么解决

我曾经用这个做过google离线地图的展示和渲染,下面是相关代码:

加载本地地图的函数:

function LocalMapType() {}   

    LocalMapType.prototype.tileSize = new google.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) {  

    var img = ownerDocument.createElement("img");      

    img.style.width = this.tileSize.width + "px";  

    img.style.height = this.tileSize.height + "px";  

      

    // 访问本地图片的算法,不同的地图切图工具对应的算法不同  

    var strURL = "gmap/tiles/" + zoom + "/" + coord.x + "/" + coord.y + ".png";   

    img.src = strURL;  

    return img;  

    };  

      

    var localMapType = new LocalMapType();

初始化地图函数:

function initialize() {  

    // 以该经纬度为中心居中显示,注意google 一般先写纬度,在写经度  

    var myLatlng = new google.maps.LatLng(30.51667,114.31667);   

    var myOptions = {  

      center: myLatlng,  

      zoom: 10,        // 初始化地图默认级别  

      streetViewControl: false,     // 默认不显示全景图  

      mapTypeControlOptions: {  

        mapTypeIds: ["local", google.maps.MapTypeId.ROADMAP] // 地图类型为普通街道地图  

        }  

    };  

      

    var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);  

    map.mapTypes.set('local', localMapType);  

    map.setMapTypeId('local');  

    // 设置地图瓦片大小为256*256  

    map.overlayMapTypes.insertAt(0, new CoordMapType(new google.maps.Size(256, 256)));

html代码:

body onload="initialize()"  

    div id="map_canvas" style="width: 80%; height: 630px;"/div  

/body

在离线的情况下渲染离线地图:

1.加载图片:

var image = 'icon/0.png'; // 存放图片的路径  

    var myLatLng = new google.maps.LatLng(30.51667,114.31667); // 图片显示的地方  

    var beachMarker = new google.maps.Marker({  

    position: myLatLng,  

    map: map,  

    icon: image  

});

2.画折线:

var flightPlanCoordinates = [  

    new google.maps.LatLng(30.51667,114.31667),  

    new google.maps.LatLng(30.50667,114.32667),  

    new google.maps.LatLng(30.40667,114.30667)  

    ];  

    var flightPath = new google.maps.Polyline({  

       path: flightPlanCoordinates,  

       strokeColor: "#FF0000",  

       strokeOpacity: 1.0,  

       strokeWeight: 2  

    });  

       

    flightPath.setMap(map); // 如果想还原去掉折线用:flightMap.setMap(null)

3.画圆:

var citymap = {};    

   citymap['chicago'] = {    

   center: new google.maps.LatLng(31.18439, 121.49454),    

   population: 284259   

   };   

   citymap['newyork'] = {    

   center: new google.maps.LatLng(31.38439, 121.52454),    

   population: 814319   

   };  

   var cityCircle;  

  

   for (var city in citymap) {    

   var populationOptions = {    

     strokeColor: "#FF0000",    

     strokeOpacity: 0.8,    

     strokeWeight: 1,    

     fillColor: "#FF0000",    

     fillOpacity: 0.35,    

     map: map,    

     center: citymap[city].center,    

     radius: citymap[city].population / 1000    

   };    

   cityCircle = new google.maps.Circle(populationOptions);    

   }

4.画多边形:

// 如果是多边形,最后一个点不需要写成第一个点就可以自动连起来  

     var triangleCoords = [    

     new google.maps.LatLng(30.51667,114.31667),  

         new google.maps.LatLng(30.50667,114.42667),  

         new google.maps.LatLng(30.40667,114.30667)  

    ];    

        

    bermudaTriangle = new google.maps.Polygon({    

        paths: triangleCoords,    

        strokeColor: "#FF0000",    

        strokeOpacity: 0.8,    

        strokeWeight: 2,    

        fillColor: "#FF0000",    

        fillOpacity: 0.35    

    });    

        

    bermudaTriangle.setMap(map);

希望对你有用。

Google map api的问题拜托各位了 3Q

用的是JavaScript 通过地址查找主要用到geocoder: function showAddress(address) { if (geocoder) { geocoder.getLatLng( address, function(point) { if (!point) { alert('不能解析:'+address); } else { map.setCenter(point, 18);//18是地图显示等级 marker = new GMarker(point); map.addOverlay(marker); } } 其他代码就看gmap api 要完整才能显示的。 经纬度显示在地图上这个就很简单了,API有简单的例子: 批量读取的话,可以用个for来循环就可以了 for (var i = 0; i lat_x.length; i++) { var latlng = new GLatLng(lat_x[i],lat_y[i]); map.addOverlay(createMarker(latlng, i)); } 代码: function initialize() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(lat_x[0],lat_y[0]), 12); map.addControl(new GLargeMapControl()); map.addControl(new GScaleControl()); map.addControl(new GMapTypeControl()); for (var i = 0; i lat_x.length; i++) { var latlng = new GLatLng(lat_x[i],lat_y[i]); map.addOverlay(createMarker(latlng, i)); } } } var baseIcon = new GIcon(); baseIcon.shadow = " "; baseIcon.iconSize = new GSize(15, 15); baseIcon.shadowSize = new GSize(20, 17); baseIcon.iconAnchor = new GPoint(9, 12); baseIcon.infoWindowAnchor = new GPoint(9, 2); baseIcon.infoShadowAnchor = new GPoint(18, 25); function createMarker(point, index) { // Create a lettered icon for this point using our icon class var letteredIcon = new GIcon(baseIcon); var number=index+1; letteredIcon.image = "/hotel/gmapimg/h_"+number+".gif"; // 设置 GMarkerOptions 对象 var hotellist=hotels[index].split("|"); markerOptions = { icon:letteredIcon,title:hotellist[2] }; var marker = new GMarker(point, markerOptions); var showmessage_text="table width='380' cellspacing='0' cellpadding='0' border='0'tbodytrtd width='105' rowspan='2'a href='"+hotellist[1]+"'img style='padding:2px; border: 1px solid #eee;' src="+hotellist[3]+" alt='"+hotellist[2]+"' width='80' height='60' border='0' //a/tdtd a href='"+hotellist[1]+"' class='blue_a'span class='blue font14 bold' "+hotellist[2]+"/span/a span class='cheng'"+hotellist[6]+"/span/td/trtrtd"+hotellist[5]+"/td/trtrtd colspan='2'table width='99%'trtddiv id=showinfo/div/td/tr/table/td/tr/tbody/table"; GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(showmessage_text); setTimeout("show("+hotellist[0]+")",100); }); marks[number]=marker; mess[number]=showmessage_text; hid[number]=hotellist[0]; return marker; }

关于Google map api 开发

google map里没有这样的函数判断位置和所在区域的关系,只能够构造一个规则的区域如矩形,根据矩形区域四个顶点的经纬度数据确定边界。如果是不规则边界如省界,则需要通过自己描边界,边界一般保存成KML格式文件再和该区域地址做个关联,加载该地址经纬度时同时也加载上关联的kml文件。

googlemap导航api的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于googlemaps谷歌地图、googlemap导航api的信息别忘了在本站进行查找喔。

程先分享

本文链接:http://cxvlog.com/Google/35774.html