0

有人可以看看我的代码并告诉我我做错了什么吗?我现在花了很多时间尝试不同的事情,但没有成功。坦克给所有可以帮助我的人!

  • 直接调用此页面有效
  • 使用链接类型“外部”从上一页调用此页面有效
  • 从一个jQueryMobile页面到这个页面正常调用这边,不起作用并显示地图为空,点击重新加载后,一切都很完美

编码:

<html> 
<head>
    <meta charset="UTF-8">  
          <meta name="viewport" content="minimum-scale=1.0, width=device-width, maximum-scale=1.0, user-scalable=no"  />
    <meta name="apple-mobile-web-app-capable" content="yes">
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&libraries=places"></script> 
</head>
<body>
<div data-role="page" id="basic_map">
        <script type="text/javascript">
        $("div:jqmData(role='page'):last").bind('pageinit', function() {
            if(navigator.geolocation) {
                        navigator.geolocation.getCurrentPosition(function(position){
                            initialize(position.coords.latitude,position.coords.longitude);
                        });
                }
            });

            function initialize(lat,lng) {

            var latlng = new google.maps.LatLng(lat, lng);

            var myOptions = {

                zoom: 12,
                        center: latlng,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                };

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

 </script>

    <div data-role="header" data-theme="b" data-position="fixed" data-inset="false">
            <h1>My</h1>
        <a href="index.html" data-icon="home" class="ui-btn-right" data-iconpos="notext" >Home</a>
        </div>  

    <div data-role="content">

            <h4>Map</h4>

        <div class="ui-bar-c ui-corner-all " >
            <div id="map_canvas" style="height:300px;"></div>
        </div>
    </div>
    </div>  
</body>
</html>
4

2 回答 2

0

--edit-- 忘记我说的话。你是对的,它不能解决问题。:)

您似乎忘记在第 34 行关闭您的 initialize() 函数!顺便别忘了放置 doctype,那么它将是第 35 行。

我现在可以在我的机器上看到地图(Chrome 19)

于 2012-06-07T11:47:10.670 回答
0

好的,所以这个问题与给出的答案完全相同。我不确定为什么它在您身边不起作用,因为我现在使用的代码与您相同。

我确实遇到了我的地图偏离中心的故障,但通过替换pageinitpageshow. 对我来说,重新加载页面甚至更改浏览器的窗口宽度也修复了它。

你的地图是完全不可见的,还是你能看到左上角的东西?

于 2012-06-08T11:29:24.640 回答