0

Google Maps API を使用して検索しようとしています。この URLをブラウザで (API キーを指定して)開くと、結果が表示されます。私はPhonegapとjQueryを使用しており、この関数で使用しようとしました:

$("#search").click(function() {
  try {
    $.mobile.showPageLoadingMsg();
    navigator.geolocation.getCurrentPosition(function(position) {
    var radius = $("#range").val() * 1000;
    mapdata = new google.maps.LatLng( position.coords.latitude, position.coords.longitude );
    var url = "https://maps.googleapis.com/maps/api/place/search/json?location=" +
      position.coords.latitude + "," + position.coords.longitude + "&radius=" + radius +
      "&name=" + $("#searchbox").val() + "&sensor=true&key=API_KEY";
    $.getJSON(url,
      function(data) {
        cachedData = data;
        $("#result-list").html("");
        try {
          $(data.results).each(function(index, entry) {
            var htmlData = "<a href=\"#details\" id=\"" + entry.reference +"\"><img src\"" +
              entry.icon + "\" class=\"ui-li-icon\"/img><h3>&nbsp;" + entry.name +
              "</h3><p><strong>&nbsp;vicinity: " + entry.vicinity + "</strong></p></a>";
            var liElem = $( document.createElement( 'li' ) );
            $("#result-list").append(liElem.html( htmlData ));
            $(liElem).bind( "tap",
              function(event){
                event.stopPropagation();
                fetchDetails(entry);
                return true;
            });
          });
          $("#result-list").listview('refresh');
        } catch(err) {
          console.log( "Got error while putting search result on result page " + err );
        }
        $.mobile.changePage("list");
        $.mobile.hidePageLoadingMsg();
      }).error(function(xhr, textStatus, errorThrown) {
        console.log("Got error while fetching search result : xhr.status=" + xhr.status);
      }).complete(function(error) {
        $.mobile.hidePageLoadingMsg();
      });
    },
    function(error) {
      console.log("Got Error fetching geolocation " + error);
    });
  } catch(err){
    console.log("Got error on clicking search button "+ err);
  }
});

テストすると、firebug コンソールで次の応答が得られます。

GET https://maps.googleapis.com/maps/api/place/search/json?location=-26.1443912,28.0261926&radius=5000&name=Pizza&sensor=false&key=API_KEY 200 OK (colored red with an error icon next to it)<br/>

検索結果の取得中にエラーが発生しました: xhr.status = 0

4

1 に答える 1

1

追加

$.mobile.allowCrossDomainPages = true; 

直前

 `$.getJSON()` 

と変更

$.mobile.changePage("list");

$.mobile.changePage("#list");
于 2013-03-21T06:31:33.913 に答える