在html中引入谷歌地图

最近项目中需要用到谷歌地图,以下做个简单分享,希望帮助到有需要的各位!
引入地图之前,首先申请key值申请google地图api_key详情介绍
详细代码

<html>
	<div id="showMap">
		<!--存放地图的DOM元素-->
	    <div id="map"></div>  
	    <form method="post">
	    	<!--点击地图中的某个位置,存在被点击位置的经纬度-->
	        <input id="lat" readonly="yes"><br>
	        <input id="lng" readonly="yes">
	    </form>
	</div>
	<script src="https://maps.googleapis.com/maps/api/js?key=‘你申请的key值&callback=initMap&libraries=&v=weekly’" defer></script>
	<script type="text/javascript">
	    var map; //定义一个map对象.
	    var geocoder;
	    var marker = false; //用户是否标出了他们的位置标记
	    function showInfo(latlng) {
	        geocoder.geocode({
	            'latLng': latlng
	        }, function (results, status) {
	                if (status == google.maps.GeocoderStatus.OK) {
	                    if (results[1]) {
	                     //在点击地图中的位置后,会返回被点击位置的详细地址
	                    console.log(results[1].formatted_address);
	                    } else {
	                        alert('No results found');
	                    }
	            } else {
	                alert('Geocoder failed due to: ' + status);
	            }
	        });
	    }
	    function httpGet(theUrl) {
	        var xmlHttp = new XMLHttpRequest();
	        xmlHttp.open("GET", theUrl, false); // false for synchronous request
	        xmlHttp.send(null);
	        return xmlHttp.responseText;
	    }
	    //地图初始化
	    function initMap() {
	        geocoder = new google.maps.Geocoder();
	        //地图的中心位置(经纬度设置了一个默认值)
	        var centerOfMap = new google.maps.LatLng(52.357971, -6.516758);
	        //options.
	        var options = {
	            center: centerOfMap, //设置中心位
	            zoom: 10 //zoom属性指定了地图的缩放级数,10表示初始地图展示被放大了10倍
	        };
	        //生成map对象.
	        map = new google.maps.Map(document.getElementById('map'), options);
	        // 标记地图初始的中心位置
	        var marker = new google.maps.Marker({
	            position: centerOfMap,
	            map: map,
	        });
	        var infowindow = new google.maps.InfoWindow({
	            content:I‘m here!});
	        infowindow.open(map, marker);
	        //监听地图上的点击事件.
	        google.maps.event.addListener(map, 'click', function (event) {
	            //点击后放大12倍
	            // map.setZoom(12);
	            //当用户点击后获取点击的位置.
	            var clickedLocation = event.latLng;
	            //如果marker没有被添加.
	            if (marker === false) {
	                //新建一个marker
	                marker = new google.maps.Marker({
	                    position: clickedLocation,
	                    map: map,
	                    draggable: true //marker是否能被拖动
	                });
	                //监听marker的拖动事件
	                google.maps.event.addListener(marker, 'dragend', function (event) {
	                    markerLocation();
	                });
	            } else {
	                //如果marker已经被添加,点击的时候仅需要改变marker的位置.
	                marker.setPosition(clickedLocation);
	            }
	            //获取marker的位置.
	            markerLocation();
	            // 展示点击后的地图信息
	            showInfo(clickedLocation)
	            var url = 'https://maps.googleapis.com/maps/api/geocode/json?key=你申请的key值&latlng=52.357971,-6.516758&sensor=true/false';
	            httpGet(url)
	        });
	    }
	
	    //该函数用于获取标记的当前位置,然后添加纬度/经度
	    function markerLocation() {
	        //获取位置.
	        var currentLocation = marker.getPosition();
	        //将经纬度添加到相应的dom元素中.
	        document.getElementById('lat').value = currentLocation.lat(); //纬度
	        document.getElementById('lng').value = currentLocation.lng(); //经度
	    }
	    //加载地图
	    google.maps.event.addDomListener(window, 'load', initMap);
	</script>
	<style type="text/css">
	    // 设置地图大小
	    #map {
	        width: 100%;
	        height: 550px;
	    }
	</style>
</html>
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在微信小程序引入第三方库需要先将第三方库文件下载到本地,并引入到小程序。具体步骤如下: 1. 在小程序根目录下创建一个名为 “lib” 的文件夹,用于存放第三方库文件。 2. 将需要的第三方库文件下载到本地,并放到 “lib” 文件夹。 3. 在需要使用第三方库的页面,使用 “require” 函数引入第三方库。例如,如果要使用谷歌地图定位,可以在页面的 js 文件添加以下代码: ```javascript var googleMaps = require('../../lib/google-maps.js'); ``` 4. 在页面的 wxml 文件,按照第三方库的使用方式编写代码。例如,如果要使用谷歌地图定位,可以在 wxml 文件添加以下代码: ```html <view class="map-container"> <map id="map" longitude="{{longitude}}" latitude="{{latitude}}" markers="{{markers}}" /> </view> ``` 5. 在页面的 js 文件,使用第三方库提供的接口来实现功能。例如,如果要使用谷歌地图定位,可以在页面的 js 文件添加以下代码: ```javascript Page({ data: { longitude: 116.404, latitude: 39.915, markers: [] }, onLoad: function () { // 使用谷歌地图接口获取当前位置 googleMaps.getLocation(function (location) { this.setData({ longitude: location.longitude, latitude: location.latitude, markers: [{ id: 1, longitude: location.longitude, latitude: location.latitude, title: '当前位置' }] }); }.bind(this)); } }) ``` 以上就是在微信小程序引入第三方库来实现谷歌地图定位的步骤。需要注意的是,不同的第三方库使用方式不同,具体使用方法需要参考每个库的官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值