【发布时间】:2011-06-01 05:22:51
【问题描述】:
我正在使用 Google Maps API 和 W3C 标准来获取用户的地理位置。我已将其设置为基础 - 使用 [Google 文档][1] 中的代码。
现在我将其集成到我的网站中,并需要将其输入到我的 mysql 数据库中。我想将 PHP 变量设置为 JavaScript 变量(基本上将 PHP 变量设置为纬度和经度)。但我没有成功。
编辑:
基本上我想做$phpvar = $jsvar。制作一个 php 变量 = 我的 javascript 变量。
代码如下:
var initialLocation;
var siberia = new google.maps.LatLng(60, 105);
var newyork = new google.maps.LatLng(40.69847032728747, -73.9514422416687);
var browserSupportFlag = new Boolean();
function initialize() {
var myOptions = {
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
// Try W3C Geolocation (Preferred)
if(navigator.geolocation) {
browserSupportFlag = true;
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
// Try Google Gears Geolocation
} else if (google.gears) {
browserSupportFlag = true;
var geo = google.gears.factory.create('beta.geolocation');
geo.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.latitude,position.longitude);
map.setCenter(initialLocation);
}, function() {
handleNoGeoLocation(browserSupportFlag);
});
// Browser doesn't support Geolocation
} else {
browserSupportFlag = false;
handleNoGeolocation(browserSupportFlag);
}
function handleNoGeolocation(errorFlag) {
if (errorFlag == true) {
alert("Geolocation service failed.");
initialLocation = newyork;
} else {
alert("Your browser doesn't support geolocation. We've placed you in Siberia.");
initialLocation = siberia;
}
map.setCenter(initialLocation);
} }
任何帮助都会很棒!请具体说明一下,因为我是这个 Google Map API 的新手。
谢谢! :)
【问题讨论】:
-
如果你能提供一些你正在使用的代码,在代码的帮助下会更容易解释。基本语法就像我在回答中所说的那样。
-
Stoic,请查看我的编辑以及我正在使用的代码。
-
似乎您更希望将 Javascript 变量存储到您的 SQL 数据库中。如果是这样,您将需要使用 AJAX(这比 DOM hacking 更容易,恕我直言)
标签: php geolocation google-maps-api-3