为了账号安全,请及时绑定邮箱和手机立即绑定

带有谷歌地图的 Laravel 未在数据库中显示纬度和经度值的标记

带有谷歌地图的 Laravel 未在数据库中显示纬度和经度值的标记

PHP
慕盖茨4494581 2022-10-09 17:28:01
我正在尝试根据 mysql 数据库中已存储的值(纬度和经度)在 Google 地图上显示标记。但是当我尝试加载它时,谷歌地图中没有显示标记。我是 laravel 的新手。请帮我实现它。我将<?php echo $loc->lat ?> & <?php echo $loc->long ?>在同一页面中获取纬度和经度值,但我不知道如何传递它,请帮助我
查看完整描述

2 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

由于您的脚本位于 Laravel 刀片内部,因此您可以将 PHP 变量经度和纬度分配给 javascript 变量。


//Suppose your PHP variable name is $loc having lat and long attribute

<script>

    let provided_longitude = <?php echo $loc->long; ?>;

    let provided_latitude = <?php echo $loc->lat; ?>;


    console.log(provided_longitude, provided_latitude);

</script>

现在您可以在谷歌地图中使用提供的经度和提供的纬度。


example.blade.php 中的iframe 示例


<iframe

    width="600"

    height="450"

    frameborder="0" style="border:0"

    src="https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY

    &q={{$loc->lat}},{{$loc->long}}" allowfullscreen>

</iframe>

编辑 1


显示表格中的标记(例如:具有列经度、纬度的订单)


//在你的控制器里面


$orders = Order::select('id', 'longitude', 'latitude');


return view('your.page', [

    'orders' => $orders

]); 

//在你的/page.blade.php里面


<div id="map" style="width: 500px; height: 400px;"></div>


...


<script src="http://maps.google.com/maps/api/js?sensor=false"

        type="text/javascript"></script>

<script type="text/javascript">

    var locations = <?php echo $orders ?>;


    var map = new google.maps.Map(document.getElementById('map'), {

        zoom: 10,

        center: new google.maps.LatLng(-33.92, 151.25),

        mapTypeId: google.maps.MapTypeId.ROADMAP

    });


    var infowindow = new google.maps.InfoWindow();


    var marker, i;


    for (i = 0; i < locations.length; i++) {

        marker = new google.maps.Marker({

            position: new google.maps.LatLng(locations[i]['latitude'], locations[i]['longitude']),

            map: map

        });

    }

</script>


查看完整回答
反对 回复 2022-10-09
?
MYYA

TA贡献1868条经验 获得超4个赞

您必须在 javascript 的标记对象中传递您的数据库 lat long 值。var marker = new google.maps.Marker({ map: map, position: point,(这里你必须传递你从数据库中获取的 lat 和 long 的动态值) label: icon.label });

作为参考,您可以抛出以下链接。 如何在地图php上显示标记


查看完整回答
反对 回复 2022-10-09
  • 2 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信