如何在GoogleMapsV3中将latlng从javascript更新为php
拖完地图后,我必须在地图上显示一堆标记。如何将当前地图中心从javascript传递到php代码以获取数据?latlng未得到更新如何在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
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解决了这个问题。现在工作正常了。。