Javascript 使用getJSON在地图上显示标记

Javascript 使用getJSON在地图上显示标记,javascript,jquery,ajax,google-maps,Javascript,Jquery,Ajax,Google Maps,我试图在google地图上放置标记,首先通过地理定位找到用户的纬度和经度,然后使用GET请求发送相同的纬度和经度 这是我的密码: function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (position) { $.ajax({ type: "GET",

我试图在google地图上放置标记,首先通过地理定位找到用户的纬度和经度,然后使用GET请求发送相同的纬度和经度

这是我的密码:

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function (position) {

            $.ajax({
                type: "GET",
                url: "http://localhost/baazar_search/public/walkalong/" + position.coords.latitude + "/" + position.coords.longitude,
                data: {
                    lat: position.coords.latitude,
                    log: position.coords.longitude
                },
                success: function () {
                    window.location.replace("http://localhost/baazar_search/public/layer0");

                }
            });
        });
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
第二个文件是这样的-

function initialize() {
                var mapOptions = {
                    center: new google.maps.LatLng(17, 78.5463),
                    zoom: 10,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("googleMap"), mapOptions);
                $.getJSON("http://localhost/baazar_search/public/walkalong/" + position.coords.latitude + "/" + position.coords.longitude, function (data) {
                    $.each(data.points, function (i, value) {

                        var myLatlng = new google.maps.LatLng(value.latitude, value.longitude);
                        var marker = new google.maps.Marker({
                            position: myLatlng,
                            map: map,
                        });

                    });
                });
            }
            google.maps.event.addDomListener(window, 'load', initialize);

我想根据在$.ajax方法中得到的响应在地图上绘制标记。我得到的错误是位置未定义。有人能帮忙吗?我想在页面重定向时使用响应,但我无法做到这一点。

位置未定义,因为您试图在初始化功能中使用它地理位置服务是异步的,您需要在回调函数中使用数据(位置),当数据(位置)可用时。在地理位置回调函数中调用initialize。在呈现DOM后调用
getLocation
(在onload事件函数中)。是的,这就是问题所在。我想在不同的文件中使用position使用cookies: