Google Map API 的基础使用

一、自定义信息窗口、自定义图标以及自定义控件

// 自定义Marker标记点
var marker = new google.maps.Marker({
     position:  myLatLng,
     icon: '../car.png',  // 如果为空则显示默认的图标
     map: map
});
 
// 自定义InfoWindow信息窗口
htmlWindow = "<div class='wrapBox'>\
                   <div>IMEI: " + imei + "</div>\
                   <div>Address:<span id='map-address'>" + pointToAddress(myCenter.lat, myCenter.lng) + "</span>" + info + "</div>\
                   <div>Speed:" + speed + " km/h</div>\
                   <div>Time:" + toDate(2018-12-17 16:12:50) + "</div>\
               </div>";
 
var infowindow= new google.maps.InfoWindow({
     content: htmlWindow,
     disableAutoPan:true //设置为true时可禁用自动平移功能
});
 
//打开信息窗体
infowindow.open(map, marker);
 
//marker点事件,点击关闭信息窗体
marker.addListener('click', function() {
    infowindow.close();
});
 
//监听X关闭按钮事件
google.maps.event.addListener(infowindow,"closeclick", function(){
    infowindow.close();
});

自定义标记和自定义信息窗口比较简单,效果如上图(中)。如果我们要改变地图默认的控件位置或需要自定义控件怎么办?接着往下看。
googl map默认开启的控件有:
mapTypeControl // 地图类型控件
zoomControl //地图缩小放大控件
streetViewControl //小黄人街景控件
fullscreenControl //全屏控件
默认没有开启的还有panControl、scaleControl、overviewMapControl、rotateControl:true等

// 关闭地图类型控件,打开缩小放大控件并设置其位置为坐下方
var myOptions2 = {
    zoom: 15,
    center: myLatLng,
    mapTypeControl: false,
    zoomControl: true,
    zoomControlOptions: {
        style:google.maps.ZoomControlStyle.SMALL,
        position:google.maps.ControlPosition.LEFT_BOTTOM
    }
};

其中,所有控件都有position属性,代表控件的位置,包括的选项有:OTTOM、BOTTOM_CENTER、BOTTOM_LEFT、BOTTOM_RIGHT、CENTER、LEFT、LEFT_BOTTOM、LEFT_CENTER、LEFT_TOP、RIGHT、RIGHT_BOTTOM、RIGHT_CENTER、RIGHT_TOP、TOP、TOP_CENTER、TOP_LEFT、TOP_RIGHT。记不住没有关系,你不妨console.log(google.maps.ControlPosition)试试。

而只有部分控件有style属性,而且各不相同。

地址解析

// 地址解析方法
function pointToAddress(lat, lng, backcall) {
    // 实例化Geocoder服务用于解析地址
    var geocoder = new google.maps.Geocoder();
    // 地理反解析过程
    // 请求数据GeocoderRequest为location,值类型为LatLng因此我们要实例化经纬度
    geocoder.geocode({ location: new google.maps.LatLng(lat, lng) }, function geoResults(results, status) {
       if (status == google.maps.GeocoderStatus.OK) {
             backcall(results[0].formatted_address);
        } else {
             console.log(":error " + status);
        }
    });
}
 
// 在需要解析的地方调用方法
pointToAddress(myCenter.lat, myCenter.lng, function (address) {
    // 获得地址
    console.log(address);
});

我们看到地图上控件名称显示的是中文,如果用户手机系统是英文,地图也会自动切换为英文。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Google Map API V3是一种用于在Web应用程序中嵌入和操作Google地图的编程接口。它提供了一组丰富的功能和工具,可以帮助开发者在自己的网站或应用中实现地图和位置相关功能。 使用Google Map API V3,开发者可以轻松地在网页上显示一个互动的地图,包括地图图块、标记、信息窗口、图形和覆盖物等元素。开发者还可以通过调用API提供的方法,获取地图的坐标和视图信息,以及监听用户交互事件。 除了基本的地图显示功能外,Google Map API V3还提供了许多高级功能。例如,开发者可以使用地图的几何库进行位置计算和空间分析,可以实现地图上的地理编码和逆地理编码等操作。API还支持在地图上绘制路径和多边形,并可以使用地图上的各种工具控制地图的交互和视图。 Google Map API V3还与其他Google服务集成得很好。例如,开发者可以通过API调用Google Places服务,实现根据关键字搜索地点和显示地点详细信息的功能。还可以使用API调用Google Street View服务,在地图上显示街景图像。 总而言之,Google Map API V3为开发者提供了一个强大而灵活的工具,可以方便地在自己的网站或应用中集成和操作Google地图,实现丰富的地图和位置相关功能。无论是创建一个简单的地图显示页面,还是实现复杂的地理应用,Google Map API V3都是一个很好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值