Javascript downloadUrl函数不适用于使用opencart创建google地图定位器

Javascript downloadUrl函数不适用于使用opencart创建google地图定位器,javascript,php,jquery,google-maps,google-maps-markers,Javascript,Php,Jquery,Google Maps,Google Maps Markers,我正在使用opencart进行开发 在deralers.php文件中有一个名为query()的函数,该函数将从数据库中搜索邮政编码,以获得门店位置结果,并输出为XML格式。例如,如果我键入3000并选择墨尔本,xml输出将是: 函数查询(): 输出 …布拉布拉布拉。。。 然后我发现downloadurl函数不起作用,不管我放了什么url,都不会发生任何事情。为什么会这样 任何想法都将不胜感激 我已经将javascript粘贴到了中,您在这里展示的代码负责生成XML。 生成的XML包含标记数据,

我正在使用opencart进行开发

在deralers.php文件中有一个名为query()的函数,该函数将从数据库中搜索邮政编码,以获得门店位置结果,并输出为XML格式。例如,如果我键入3000并选择墨尔本,xml输出将是:

函数查询(): 输出
…布拉布拉布拉。。。
然后我发现downloadurl函数不起作用,不管我放了什么url,都不会发生任何事情。为什么会这样

任何想法都将不胜感激


我已经将javascript粘贴到了

中,您在这里展示的代码负责生成XML。 生成的XML包含标记数据,需要解析这些数据并将其交给GoogleMapsAPI,以便绘制标记

您可能要做的第一件事是,让一个标记工作,然后升级到多个标记。只要试着在地图上绘制正确的XML和标记即可。 在尝试添加标记之前,必须初始化映射

如果可以,继续通过jQuery动态加载标记XML。 因为您已经在使用jQuery,所以我建议删除downloadURL()函数,改为使用一个简单的jQuery Ajax.get()请求,并添加一个成功函数,用于解析输入响应XML

$(document).ready(function()
{
  $.ajax({
    type: "GET",
    url: "markers.xml", // xml source: either static xml file or xml generated by php
    dataType: "xml",
    success: parseXml // parse the marker xml
  });
});

// the idea is: from xml -> to var "location" -> addMarker(location)
function parseXml(xml)
{
  // foreach marker extract the xml data (lat,long,...)
  $(xml).find("marker").each(function(index){

     // and assign to a new location var
     var location.lat = $(this).find('lat').text();
     var location.long = $(this).find('long').text();
     var location.name = $(this).find('name').text();

     // then use this data to add the marker
     addMarker(location);
  )
}    

function addMarker(location)
{
    // the marker is a "point" on the map defined by it's lat/long
    var point = new google.maps.LatLng(location.lat, location.lng); 

    var marker = new google.maps.Marker({
       position:point,
       map: map,
       title: location.name
    }); 
};
如果您需要绑定一个信息窗口或其他东西,单击标记图标时会弹出, 然后请在本文中搜索bindInfoWindow()

我想,这就是您得到的这个downloadURL()函数的起源,但是在本教程中,它们不像您那样使用jQuery


这个问题可能也有帮助:

我很高兴,我能帮上忙:)
<markers><marker name="Harvey Norman BIG BUYS" address="Shop 9&amp;11 Ground Level Springvale Homemaker Centre 917 Princes Highway Springval VIC 3171" lat="-37.927456" lng="145.143845" distance="19.74128375361586"></marker>....blahblah... <markers>
$(document).ready(function()
{
  $.ajax({
    type: "GET",
    url: "markers.xml", // xml source: either static xml file or xml generated by php
    dataType: "xml",
    success: parseXml // parse the marker xml
  });
});

// the idea is: from xml -> to var "location" -> addMarker(location)
function parseXml(xml)
{
  // foreach marker extract the xml data (lat,long,...)
  $(xml).find("marker").each(function(index){

     // and assign to a new location var
     var location.lat = $(this).find('lat').text();
     var location.long = $(this).find('long').text();
     var location.name = $(this).find('name').text();

     // then use this data to add the marker
     addMarker(location);
  )
}    

function addMarker(location)
{
    // the marker is a "point" on the map defined by it's lat/long
    var point = new google.maps.LatLng(location.lat, location.lng); 

    var marker = new google.maps.Marker({
       position:point,
       map: map,
       title: location.name
    }); 
};