2016-04-09 1 views
1

Мне нужна помощь для заполнения маркеров карты Google, используя данные моего монгоба с NodeJS.Заполнение маркеров Google Map от модели Node Mongodb

Это моя модель схема (модели/listing.js):

var restful = require('node-restful'); 
var mongoose = restful.mongoose; 

// Schema 
var listingSchema = new mongoose.Schema({ 
    category: String, 
    title: String, 
    location: String, 
    latitude: Number, 
    longitude: Number, 
    url: String, 
    type: String, 
    type_icon: String 
}, 
    { collection: 'listing' } 
); 

// Return Model 
module.exports = restful.model('Listing', listingSchema); 

Когда я использую почтальон GET/API/список, это то, что у меня есть

[{ 
"_id": "57092ca64f43442f0bcd6a95", 
"category": "services", 
"title": "Musa 24 hours Printing", 
"location": "16 Bali Lane, Singapore 189852", 
"latitude": 1.3007598, 
"longitude": 103.8588499, 
"url": "http://www.musa-group.com/24hrsinternet/printing.html", 
"type": "Printing", 
"type_icon": "assets/icons/media/text.png", 
"gallery": [ 
    "http://i.imgur.com/HwiyMCK.png" 
]}, 
    { 
    "_id": "57092ca64f43442f0bcd6a96", 
    "category": "services", 
    "title": "Rocket Printers SG", 
    "location": "146 Jalan Bukit Merah, Singapore 160146", 
    "latitude": 1.2778769, 
    "longitude": 103.8308443, 
    "url": "http://www.rocketprinters-sg.com/", 
    "type": "Printing", 
    "type_icon": "assets/icons/media/text.png", 
    "gallery": [ 
     "http://i.imgur.com/XPYgZ7a.jpg" 
    ] 
    }] 

На моем индексе .ejs файл, маркеры в настоящее время вытащил из items.json.txt файла

<script> 
var _latitude = 1.36080344; 
var _longitude = 103.81565094; 
var jsonPath = 'assets/json/items.json.txt'; 
    // Load JSON data and create Google Maps 
    $.getJSON(jsonPath) 
     .done(function(json) { 
      createHomepageGoogleMap(_latitude,_longitude,json); 
     }) 
     .fail(function(jqxhr, textStatus, error) { 
      console.log(error); 
     }); 
    // Set if language is RTL and load Owl Carousel 
    $(window).load(function(){ 
     var rtl = false; // Use RTL 
     initializeOwl(rtl); 
    }); 
    autoComplete(); 
</script> 

Как я могу изменить источник из «items.json.txt» в мою коллекцию базы данных «Листинг»? Большое спасибо за любую помощь!

ответ

0

Предполагая, что ваши файлы в формате JSON имеет ту же структуру, что и JSON, возвращаемой/API/список, вы можете просто заменить URL вашего файла JSON с помощью yourserver.com:XX/api/listing, предполагая, что сервер ваш_сервер .com работает с вашим API на порту XX.

Я подозреваю, что метод jQuery.getJson - это всего лишь обертка вокруг jQuery.get, которая добавляет параметры к запросу, например соответствующий заголовок Content-Type.

+0

Спасибо, что работает! Ты восхитителен. –