如何在GoogleMapsV3中将latlng从javascript更新为php

如何在GoogleMapsV3中将latlng从javascript更新为php,php,google-maps-api-3,Php,Google Maps Api 3,拖完地图后,我必须在地图上显示一堆标记。如何将当前地图中心从javascript传递到php代码以获取数据?latlng未得到更新 var CHANGE_MARKERS = false; var CITY_MAP_CENTER_LAT= '12.971598'; var CITY_MAP_CENTER_LNG= '77.594569'; var CITY_MAP_ZOOMING_FACT= 15; var CITY_MAP_VIEW_TYPE = ''; var LAT = ""; var LN

拖完地图后,我必须在地图上显示一堆标记。如何将当前地图中心从javascript传递到php代码以获取数据?latlng未得到更新

var CHANGE_MARKERS = false;
var CITY_MAP_CENTER_LAT= '12.971598';
var CITY_MAP_CENTER_LNG= '77.594569';
var CITY_MAP_ZOOMING_FACT= 15;
var CITY_MAP_VIEW_TYPE = '';
var LAT = "";
var LNG = "";
var LATLNG = "";
var A1,A2,A3,A4;

var map;
var mgr;
var mc = null;
var markerClusterer = null;
var showMarketManager = false;
var infoWindow;
var markersarray = [];
var allmarkers = [];

function setLatLng(){
    if(CHANGE_MARKERS == false){
        LAT = '12.971598';
        LNG = '77.594569';
    }
    else{
        var ctr = map.getCenter();
        LAT =ctr.lat();
        LNG =ctr.lng();
    }
}

function setMarkers(){

    allmarkers.length = 0;
    allmarkers = [];
    var markers = [];
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
       alert(<?php echo $_SESSION['center']; ?>);
       //var markersData = xmlhttp.responseText;
       //alert(markersData);
       markers = {'data':[

           <?php


           ?>

       ]};

       for (var level in markers) {
            //alert(markers[level].length);
       }
    }
    }
    xmlhttp.open("GET","../subscriber_listing/google.php?center=" + map.getCenter(),false);
    xmlhttp.send();

    if (markers) {
         for (var level in markers) {
            //alert(markers[level].length);
            for (var i = 0; i < markers[level].length; i++) {
               var details = markers[level][i];
               //alert(details.name);
               var image = new google.maps.MarkerImage(details.icons,new google.maps.Size(PIN_POINT_ICON_WIDTH, PIN_POINT_ICON_HEIGHT));

               var myLatLng = new google.maps.LatLng(details.location[0], details.location[1]);

               var newmarker = createMarker(details.name,myLatLng,image);
               allmarkers.push(newmarker);
            }
            mgr.addMarkers( allmarkers, 0 );
         }
         mgr.refresh();
      }
}

function doSearch(){
    display();

    CHANGE_MARKERS = true;

    initialize();
}

function createMarker(name,latlng,image){
    var marker = new google.maps.Marker({
          title: name,
          position: latlng,
          icon: image,
          clickable: true,
          draggable: false,
          flat: true
   });
   return marker;
}

function display(){

    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    }
    }
    xmlhttp.open("GET","../subscriber_listing/google.php?center=" + map.getCenter(),false);
    xmlhttp.send();
}

if(CITY_MAP_CENTER_LAT=='')
{
    var CITY_MAP_CENTER_LAT = 34;
}
if(CITY_MAP_CENTER_LNG=='')
{
    var CITY_MAP_CENTER_LNG = 0;
}
if(CITY_MAP_CENTER_LAT!='' && CITY_MAP_CENTER_LNG!='' && CITY_MAP_ZOOMING_FACT!='')
{
    var CITY_MAP_ZOOMING_FACT = 13;
}else if(CITY_MAP_ZOOMING_FACT!='')
{
    var CITY_MAP_ZOOMING_FACT = 3;
}
var PIN_POINT_ICON_HEIGHT = 32;
var PIN_POINT_ICON_WIDTH = 20;

if(CITY_MAP_VIEW_TYPE=='TERRAIN')
{
    var maptype= google.maps.MapTypeId.TERRAIN;
}else
if(CITY_MAP_VIEW_TYPE=='SATELLITE')
{
    var maptype= google.maps.MapTypeId.SATELLITE;
}else
if(CITY_MAP_VIEW_TYPE=='')
{
    var maptype= google.maps.MapTypeId.ROADMAP;
}
if(MAP_DISABLE_SCROLL_WHEEL_FLAG)
{
    var MAP_DISABLE_SCROLL_WHEEL_FLAG = 'No';
}


function initialize() {
   setLatLng();

   var myOptions = {
        zoom: CITY_MAP_ZOOMING_FACT,
        center: new google.maps.LatLng(LAT, LNG),
        mapTypeId: maptype
    }
    map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
    mgr = new MarkerManager(map);
    infoWindow = infoWindow = new google.maps.InfoWindow();

   google.maps.event.addListener(mgr, 'loaded', function(){
         setMarkers();
   });


    google.maps.event.addListener(map, "dragend", function() {
            doSearch();
    });

}
google.maps.event.addDomListener(window, 'load', initialize);
var CHANGE\u MARKERS=false;
var CITY_MAP_CENTER_LAT='12.971598';
var CITY_MAP_CENTER_LNG='77.594569';
var CITY\u MAP\u zoming\u FACT=15;
var CITY\u MAP\u VIEW\u TYPE=“”;
var LAT=“”;
var LNG=“”;
var LATLNG=“”;
变量A1、A2、A3、A4;
var映射;
风险经理;
var mc=null;
var-markerClusterer=null;
var showMarketManager=false;
var信息窗口;
var-markersarray=[];
var-allmarkers=[];
函数setLatLng(){
如果(更改标记==false){
纬度='12.971598';
液化天然气='77.594569';
}
否则{
var ctr=map.getCenter();
LAT=ctr.LAT();
液化天然气=中心液化天然气();
}
}
函数setMarkers(){
allmarkers.length=0;
所有标记=[];
var标记=[];
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
警惕();
//var markersData=xmlhttp.responseText;
//警报(markersData);
标记={'data':[
]};
for(标记中的变量级别){
//警报(标记[级别].长度);
}
}
}
xmlhttp.open(“GET”,”./subscriber_listing/google.php?center=“+map.getCenter(),false);
xmlhttp.send();
如果(标记){
for(标记中的变量级别){
//警报(标记[级别].长度);
对于(变量i=0;i
获取JavaScript API v3中的lat/lng值:

map.getCenter().lat()  // latitude in degrees
map.getCenter().lng()  // longitude in degrees
要在拖动贴图后检索这些值,请为
center\u changed
和/或
dragend
事件添加侦听器


由于所有这些都是在映射渲染之后发生的——也就是说,在任何服务器端PHP已经运行之后——如果出于任何原因需要使用PHP处理这些值,则需要使用AJAX或其他技术将这些值发送到服务器。

向我们公开一些代码,否则我们将无法帮助您!请将其正确插入您的问题,使用编辑按钮/链接插入您的问题谢谢您的回答。。实际上,我已经用AJAX解决了这个问题。现在工作正常了。。