index.blade.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  7. <title>地图</title>
  8. <script type="text/javascript" src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
  9. <script type="text/javascript" src="/js/plugins/jquery-2.1.1.min.js"></script>
  10. </head>
  11. <body>
  12. <div style="display: inline-block;vertical-align: top;width: 45%">
  13. <div class="form-group row map">
  14. <div class="offset-2 col-9">
  15. <div class="input-group" style="margin-top: 20px;">
  16. <input class="form-control region" type="text" placeholder="城市">
  17. <span class="input-group-addon ">和</span>
  18. <input class="form-control keyword" type="text" placeholder="关键字">
  19. <a class="input-group-addon search" href="javascript:">搜索</a>
  20. </div>
  21. <div class="text-info">搜索时城市和关键字必填</div>
  22. <div class="text-info">点击地图上的蓝色点,获取经纬度</div>
  23. <div class="text-danger map-error mb-3" style="display: none">错误信息</div>
  24. <div id="container" style="min-width:600px;min-height:600px;"></div>
  25. </div>
  26. </div>
  27. </div>
  28. </body>
  29. <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=YGZBZ-QSKCU-7LGVI-2WWXU-E5YEJ-2WFBA" ></script>
  30. <script>
  31. var searchService, map, markers = [];
  32. // window.onload = function(){
  33. //直接加载地图
  34. //初始化地图函数 自定义函数名init
  35. function init() {
  36. //定义map变量 调用 qq.maps.Map() 构造函数 获取地图显示容器
  37. var map = new qq.maps.Map(document.getElementById("container"), {
  38. center: new qq.maps.LatLng(39.916527, 116.397128), // 地图的中心地理坐标。
  39. zoom: 15 // 地图的中心地理坐标。
  40. });
  41. var latlngBounds = new qq.maps.LatLngBounds();
  42. //调用Poi检索类
  43. searchService = new qq.maps.SearchService({
  44. complete: function (results) {
  45. var pois = results.detail.pois;
  46. $('.map-error').hide();
  47. if (!pois) {
  48. $('.map-error').show().html('关键字搜索不到,请重新输入');
  49. return;
  50. }
  51. for (var i = 0, l = pois.length; i < l; i++) {
  52. (function (n) {
  53. var poi = pois[n];
  54. latlngBounds.extend(poi.latLng);
  55. var marker = new qq.maps.Marker({
  56. map: map,
  57. position: poi.latLng,
  58. });
  59. marker.setTitle(n + 1);
  60. markers.push(marker);
  61. //添加监听事件
  62. qq.maps.event.addListener(marker, 'click', function (e) {
  63. var address = poi.address;
  64. $("input[name='address']").val(address);
  65. $("input[name='longitude']").val(e.latLng.lng);
  66. $("input[name='latitude']").val(e.latLng.lat);
  67. });
  68. })(i);
  69. }
  70. map.fitBounds(latlngBounds);
  71. }
  72. });
  73. }
  74. //清除地图上的marker
  75. function clearOverlays(overlays) {
  76. var overlay;
  77. while (overlay = overlays.pop()) {
  78. overlay.setMap(null);
  79. }
  80. }
  81. function searchKeyword() {
  82. var keyword = $(".keyword").val();
  83. var region = $(".region").val();
  84. clearOverlays(markers);
  85. searchService.setLocation(region);
  86. searchService.search(keyword);
  87. }
  88. //调用初始化函数地图
  89. init();
  90. // }
  91. </script>
  92. <script>
  93. $(document).on('click', '.search', function () {
  94. searchKeyword();
  95. })
  96. </script>
  97. </html>