将 Lat/Long 坐标保存到数据库并分配到 javascript 中的路径的正确格式是什么?

What is the correct format of saving Lat/Long coordinates into database and assign into path in javascript?

我正在尝试从包含一组 lat/long 字符串的数据库中获取路线的坐标。

假设我在我的 table 中保存了一条路径信息 (lat/lng),格式如下:

{lat:36.26479895658131,lng: 49.99473060839841},{lat:36.20609142498267,lng: 49.860834734374976},{lat:36.114064680113565,lng: 49.61570228808591}

这是准备上述结果的代码:

<script>
var coordinates= [];
document.getElementById("field12").value = coordinates;

function myFunction(latLng) //latLng is comming from myFunction(e.latLng)
{
     var str = latLng;
     var res = String(latLng).split("(");
     var res1 = String(res).split(")");
     var res2 = String(res1).split(",");
     var final = "{lat:"+res2[1]+",lng:"+ res2[2]+"}";
     coordinates.push(final);
     document.getElementById("field12").value = coordinates;
}
</script>

现在我要将此坐标分配到我的 java 脚本代码中的路径中。想象一下,我将坐标字符串放入如下所示的 var 中:

var flightPlanCoordinates = [];

function RetrieveRouteCoordinates() {
    $.post('retrieveRouteCoordinates.php', function(data) {
        var myObj1 = JSON.parse(data);

        for(var t = 0; t < 2; t++)
        {
            if(myObj1[t] != null)
            {     
                flightPlanCoordinates[t] = myObj1[t].routCoordinates;
            }
        }
    });
}

然后,我将其中一个路径设置为这样的示例:

poly.setPath(flightPlanCoordinates[0]);

一般来说,我需要知道在插入数据库之前我的坐标格式是否正确?如果没有告诉我正确的保存格式,然后指出我如何将它们分配到多边形中。

可以使用以下任一语法指定浮点数(也称为 "floats"、"doubles" 或 "real numbers"):

示例:

<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;
?>

请查看关于浮点数的文档说明here 您可以使用 number_format((float)$number, 14, '.', ''); 检索它们

for(var i = 0; i<location_array.length; i++)
    { var loc = location_array[i] ; //==>(12.77,  24.87)

        var split_arr1 = loc.split("(");
        var result_split_arr1 = split_arr1[1].split( ")" );
        var split_latLon = result_split_arr1[0];
 var latLng = new google.maps.LatLng(split_lat, split_lon);
        path.push(latLng)
        marker = new google.maps.Marker({
        position: latLng,
        map: map
        });
}

    var flightPath = new google.maps.Polyline({
       path: path,
       strokeColor: "#FF0000",
       strokeOpacity: 1.0,
       strokeWeight: 2,
       map: map
    });

}