Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从mysql数据库加载标记并在Google地图上显示为标记_Php_Mysql_Ajax_Cordova - Fatal编程技术网

Php 从mysql数据库加载标记并在Google地图上显示为标记

Php 从mysql数据库加载标记并在Google地图上显示为标记,php,mysql,ajax,cordova,Php,Mysql,Ajax,Cordova,我正在使用phonegap,我有一个谷歌地图,可以定位用户并在地图上放置一个标记。我想做的是从mysql数据库加载标记,该数据库保存每个位置的lat和long详细信息。我是否必须通过php和ajax来实现这一点?这是我目前掌握的密码。谢谢 <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Test</

我正在使用phonegap,我有一个谷歌地图,可以定位用户并在地图上放置一个标记。我想做的是从mysql数据库加载标记,该数据库保存每个位置的lat和long详细信息。我是否必须通过php和ajax来实现这一点?这是我目前掌握的密码。谢谢

 <html>

     <head>

<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Test</title>
<link rel="stylesheet" href="/master.css" type="text/css" media="screen" />
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript">

function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady() {
    navigator.geolocation.getCurrentPosition(onSuccess, onError,{'enableHighAccuracy':false,'timeout':10000});

}

//GEOLOCATION
var onSuccess = function(position) {


    var myLat = position.coords.latitude;
    var myLong = position.coords.longitude;
    var myLatlng = new google.maps.LatLng(myLat, myLong);

    //MAP
    var mapOptions = {
        center: new google.maps.LatLng(myLat, myLong),
        zoom: 8,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById("map_canvas"),
                                  mapOptions);

    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title:"Hello World!"
    });


};

// onError Callback receives a PositionError object
//
function onError(error) {
    alert('code: '    + error.code    + '\n' +
          'message: ' + error.message + '\n');
}


     </script>
     </head>
     <body onload="onLoad()"> 
     <div id="map_canvas" style="width:100%; height:100%"></div>
     </body>
     </html>

试验
函数onLoad(){
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
}
函数ondevicerady(){
getCurrentPosition(onSuccess,onError,{'EnableHighAccurance':false,'timeout':10000});
}
//地理定位
var onSuccess=函数(位置){
var myLat=位置坐标纬度;
var myLong=位置坐标经度;
var mylatng=new google.maps.LatLng(myLat,myLong);
//地图
变量映射选项={
中心:新google.maps.LatLng(myLat,myLong),
缩放:8,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map_canvas”),
地图选项);
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“你好,世界!”
});
};
//OneError回调接收PositionError对象
//
函数onError(错误){
警报('code:'+error.code+'\n'+
'消息:'+error.message+'\n');
}
定义地图

var map;
初始化映射:

function initialize(lat,lng, n) {  //BY PASSING LATITUDE (lat), LONGITUDE (lng) AND THE TEXT (n) WILL SET A DEFAULT MARKER
    var mapOptions = {
        scaleControl: true,
        center: new google.maps.LatLng(lat, lng),
        zoom: 14,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById('map-canvas'),
        mapOptions);

    var marker = new google.maps.Marker({
        map: map,
        position: map.getCenter()
    });
    var infowindow = new google.maps.InfoWindow();
    infowindow.setContent('<b>ا'+n+'</b>');
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map, marker);
    });
}
调用ajax请求并从服务器获取位置数据。 在ajax成功请求中的locations数组中插入所有纬度和经度,并调用setMarkers方法

var loc_array = new Array(); //LOCATION ARRAY  
$.each(server_response_array, function(i,v){
     loc_array[i]   =   [v.lat, v.lng, v.temp_txt];
}
setMarkers(loc_array);

function setMarkers(locations){
    //clearMap();
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
        var marker, i
        for (i = 0; i < locations.length; i++)
        {
            var loan = locations[i]['txt'];
            var lat = locations[i]['lat'];
            var lng = locations[i]['lng'];
            latlngset = new google.maps.LatLng(lat, lng);
            var marker = new google.maps.Marker({
                map: map, title: loan , position: latlngset, icon: 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png' //THIS WILL SET A BLUE COLOR MARKER YOU CAN SET MORE COLOR AND ALSO CAN MANAGE FROM DATABASE
            });
            //map.setCenter(marker.getPosition())
            var content = loan;
            var infowindow = new google.maps.InfoWindow()
            google.maps.event.addListener(marker,'click', (function(marker,content,infowindow){
                return function() {
                    infowindow.setContent(content);
                    infowindow.open(map,marker);
                };
            })(marker,content,infowindow));
        }
    }
var loc_array=new array()//位置阵列
$。每个(服务器\响应\数组,函数(i,v){
loc_数组[i]=[v.lat,v.lng,v.temp_txt];
}
设置标记(loc_阵列);
功能设置标记(位置){
//clearMap();
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
变量标记
对于(i=0;i
另请参见此链接


你能给我举个AJAX的例子吗?我还是被卡住了。
var loc_array = new Array(); //LOCATION ARRAY  
$.each(server_response_array, function(i,v){
     loc_array[i]   =   [v.lat, v.lng, v.temp_txt];
}
setMarkers(loc_array);

function setMarkers(locations){
    //clearMap();
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
        var marker, i
        for (i = 0; i < locations.length; i++)
        {
            var loan = locations[i]['txt'];
            var lat = locations[i]['lat'];
            var lng = locations[i]['lng'];
            latlngset = new google.maps.LatLng(lat, lng);
            var marker = new google.maps.Marker({
                map: map, title: loan , position: latlngset, icon: 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png' //THIS WILL SET A BLUE COLOR MARKER YOU CAN SET MORE COLOR AND ALSO CAN MANAGE FROM DATABASE
            });
            //map.setCenter(marker.getPosition())
            var content = loan;
            var infowindow = new google.maps.InfoWindow()
            google.maps.event.addListener(marker,'click', (function(marker,content,infowindow){
                return function() {
                    infowindow.setContent(content);
                    infowindow.open(map,marker);
                };
            })(marker,content,infowindow));
        }
    }