How to Create a Mall Map with Real-time Data Using WRLD
This tutorial demonstrates building interactive, real-time 3D mall maps using WRLD, enhancing user experience with dynamic store information and navigation. We'll create two demos: one adding interactive markers to an indoor mall map, the other showing parking capacity with colored polygons. The complete project is available on GitHub.
Beyond simple Google Maps, WRLD allows for indoor 3D maps with interactive markers, offering unique user experiences and in-map UI interactions.
This tutorial covers:
- Setting up: Obtaining a WRLD API key and preparing your development environment (Node.js, npm, yarn).
- Two Approaches: Using WRLD's built-in tools (Map Designer, Places Designer) for a code-free solution, or building a custom app for greater flexibility.
- Indoor Map Controls: Implementing controls for easy floor navigation within the mall.
- Automatic Indoor View: Setting the map to automatically load into indoor view.
- Custom Store Cards: Creating dynamic store cards displaying real-time data (promotions, availability).
- Parking Availability Visualization: Using colored polygons to represent parking space occupancy.
Prerequisites:
Basic understanding of JavaScript DOM, ES6 syntax, and ES6 modules. Familiarity with the WRLD platform is helpful but not required.
Getting Started:
Create a free WRLD account and obtain your API key (see "Building Dynamic 3D Maps" for instructions).
Building the Map (Custom App Approach):
-
Project Setup: Create a project folder, initialize
package.json
, and create necessary directories and files (src/js, src/css, index.html, app.js, app.css, env.js). -
Dependencies: Install
wrld.js
,axios
, Babel (for ES6 compilation), Parcel (bundler), and JSON Server (for a dummy API). -
API Key: Add your WRLD API key to
env.js
. -
Basic Map: Create a basic map using
Wrld.map()
inapp.js
, specifying your API key, center coordinates, zoom level, and enabling indoor maps. -
Indoor Controls: Add necessary scripts (jQuery, jQuery UI,
indoor_control.js
) and a container div (widget-container
) toindex.html
. Initialize the indoor control inapp.js
. -
Automatic Indoor Entry: Determine the indoor map ID from the
indoormapenter
event and usemap.indoors.enter()
to automatically enter the indoor view on map load. -
Store Card Data: Create a
data
folder and populate it withdb.json
containing store information (coordinates, contact details, opening hours). Runjson-server --watch data/db.json
to create a local API server. -
Store Card Design & Implementation: Create HTML templates for the store cards (using JsRender) and a service (
api-service.js
) to fetch data from the JSON server. Implement a popup service (popup-service.js
) to display the store cards in popups on marker clicks. Add markers to the map inapp.js
, attaching click listeners to trigger the popup service. -
Parking Availability: Create a separate HTML file (
parking.html
) and JavaScript file (parking.js
). Gather coordinates for parking zones and create polygons usingWrld.polygon()
. Use color-coding to represent parking occupancy. Implement real-time updates using Socket.IO (installsocket.io
,socket.io-client
). Create a custom server (server.js
) to handle Socket.IO connections and broadcast parking updates. Update the client-side code to listen for and handle these updates.
This detailed breakdown provides a comprehensive guide to building these interactive 3D maps. Remember to consult the provided links for complete code snippets and further details. The possibilities for extending these demos are vast, allowing for integration with real-world data sources and a wide range of applications.
The above is the detailed content of How to Create a Mall Map with Real-time Data Using WRLD. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

The article discusses effective JavaScript debugging using browser developer tools, focusing on setting breakpoints, using the console, and analyzing performance.

This article explores effective use of Java's Collections Framework. It emphasizes choosing appropriate collections (List, Set, Map, Queue) based on data structure, performance needs, and thread safety. Optimizing collection usage through efficient

The article explains how to use source maps to debug minified JavaScript by mapping it back to the original code. It discusses enabling source maps, setting breakpoints, and using tools like Chrome DevTools and Webpack.

This tutorial will explain how to create pie, ring, and bubble charts using Chart.js. Previously, we have learned four chart types of Chart.js: line chart and bar chart (tutorial 2), as well as radar chart and polar region chart (tutorial 3). Create pie and ring charts Pie charts and ring charts are ideal for showing the proportions of a whole that is divided into different parts. For example, a pie chart can be used to show the percentage of male lions, female lions and young lions in a safari, or the percentage of votes that different candidates receive in the election. Pie charts are only suitable for comparing single parameters or datasets. It should be noted that the pie chart cannot draw entities with zero value because the angle of the fan in the pie chart depends on the numerical size of the data point. This means any entity with zero proportion

Once you have mastered the entry-level TypeScript tutorial, you should be able to write your own code in an IDE that supports TypeScript and compile it into JavaScript. This tutorial will dive into various data types in TypeScript. JavaScript has seven data types: Null, Undefined, Boolean, Number, String, Symbol (introduced by ES6) and Object. TypeScript defines more types on this basis, and this tutorial will cover all of them in detail. Null data type Like JavaScript, null in TypeScript
