2012-10-04 7 views
1

다음은 마크 디자인 질문에 대한 후속 질문입니다.
maps displayed wrong on mobile (using JQuery mobile)
나는 자바 스크립트와 jquery를 처음 사용하며 위의 마크 디자인 질문에 대한 답변에서 제공하는 솔루션을 내 Google지도 스크립트에 적용 할 수 없습니다. Mark Design이이 파일에서했던 것과 똑같은 일을하고 있습니다. http://skool411.info/m/Hawaii-2.html
모바일 장치에서지도가 올바르게 표시되지 않고 위의 그림과 같은 디자인이 표시됩니다. 여기 누군가가 '페이지 쇼'및 '크기 조정'을 적용하는 방법을 보여줄 수 있습니까? 나 또한 아약스를 끄려고했는데 그게 나를 위해 작동하지 않았다. http://skool411.info/m/Hawaii-1.html
나는 그 일을 올바르게하는 방법을 모른다. 만약 누군가가 나에게 아약스를 끄는 법을 보여줄 수 있다면 그것은 또한 위대 할 것이다. 대단히 감사드립니다.Google지도가 모바일에 잘못 표시되었습니다.

+0

하나의 이미지가 훨씬 더 대역폭 친화적이기 때문에 [정적지도 API] (https://developers.google.com/maps/documentation/staticmaps/)를 고려해보십시오. 모바일 사이트에서이 작업을 수행하고 이미지를 Google지도에 직접 연결합니다. – Blazemonger

+0

대역폭은 문제가 아니며 사이트 방문자가 거의 없으며 학습에 대한 정보가 더 많습니다. 원하는 경우 게시자 위치를 탐색 할 수있는 소수의 방문자가 필요합니다. –

답변

0

이 컨텍스트에서 directionsService이 없기 때문에 calcRoute()에 약간의 오류가 있습니다. 페이지가 표시 될 때 제안 질문의 솔루션을 사용

var map; 
var Loc1; 

,지도를 만들 필요 :

먼저, map 및 "글로벌"상황에 Loc1을 만들어 보자

$('#mapPage').live('pageshow', 
     function(event, ui) { 
      var mapOptions = { 
       zoom : 7, 
       mapTypeId : google.maps.MapTypeId.ROADMAP, 
       center : Loc1 
      }; 

      map = new google.maps.Map(document.getElementById('map_canvas'), 
        mapOptions); 
     }); 

초기화 기능 :

function initialize(Hlat1, Hlng1, Hlat2, Hlng2) { 
    Loc1 = new google.maps.LatLng(Hlat1, Hlng1); 

    var $content = $("#mapPage div:jqmData(role=content)"); 
    $content.height(screen.height); 
    $.mobile.changePage($("#mapPage")); 

    calcRoute(Hlat1, Hlng1, Hlat2, Hlng2); 
} 

마지막으로 ro UTE :

function calcRoute(Hlat1, Hlng1, Hlat2, Hlng2) { 
    var rendererOptions = { 
     draggable : true 
    }; 
    var directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions); 
    var directionsService = new google.maps.DirectionsService(); 

    var request = { 
     origin : new google.maps.LatLng(Hlat1, Hlng1), 
     destination : new google.maps.LatLng(Hlat2, Hlng2), 
     travelMode : google.maps.DirectionsTravelMode.DRIVING 
    }; 

    directionsService.route(request, function(response, status) { 
     if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay.setDirections(response); 
      directionsDisplay.setMap(map); 
     } 
    }); 
} 

Here는 전체 코드입니다.

희망이 도움이됩니다.

+0

감사합니다. Paulo. 나는 우리 js를 당신의 것으로 바꿨고 그것은 훌륭하게 작동합니다. –

+0

@sethslaynne 'how-to'로 [this meta] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)를 확인하십시오. –

관련 문제