Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Learning Bing Maps API
Learning Bing Maps API

Learning Bing Maps API: Bing Maps are a great resource and very versatile when you know how. And this book will show you how, covering everything from embedding on a web page to customizing with your own styles and geo-data.

eBook
$20.69 $22.99
Paperback
$31.19 $38.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Learning Bing Maps API

Chapter 2. Diving into Bing Maps AJAX Control Version 7

With the AJAX Control, we can add pins, lines, and polygons to the map. We can even add complex shapes, such as donut structures, if we load the Microsoft.Maps.AdvancedShapes module. However, the library does not have built-in tools that allow the user to draw shapes manually, so let's create one.

We will build the code we wrote in the previous chapter. This means that we have an app.js file, where we instantiate the map, and load the LearningTheme module, which customizes the look and the behavior of the map.

We will create our tool as a module, and name it ShapeDrawing. Just as we did in Chapter 1, Introduction to BING Maps AJAX Control Version 7, let's create a folder named shapeDrawing, and a JavaScript file inside it with the same name. The module skeleton is simple, as shown in the following code:

(function() {
  var lbm = window.lbm || {};
  lbm.ShapeDrawing = function(map) {
    this._map = map;
  };
  Microsoft.Maps.moduleLoaded...

Custom events


Our tool will enable the users to draw custom polylines on the map, but we don't want this activity to interfere with other tasks performed on the map, such as dragging, clicking, and so on. Therefore, we need to add a button so that, when clicked, can allow the users to draw a shape on the map.

Respecting our modular system, we will give the power to add buttons to our LearningTheme module, which generates the header holding the buttons. And we will use custom events to do that.

The AJAX Control provides a simple, but a powerful Events object, which among others exposes two static methods: addHandler and invoke. The former method attaches a function to the map (and as we will see later in this book, also to polygons, pins, and other map entities) when an event, specified by an event name, is triggered. The invoke function triggers the event specified by the event name, with some optional data objects. The event names are usually click, dblclick, keypress, and so on, but in fact...

Pushpins


Let's stop for a minute and rethink our workflow. When the user clicks on the map, we need to show a pin, which will be a corner of the polygon. When the user double-clicks on the map, we will close the polygon. We also need to provide some visual clues as the user drags the mouse, trying to find another point.

We'll start by writing the method that adds the handlers, as shown in the following code snippet:

_addHandlers: function(self) {
  this._handlers = {};
  this._handlers.click = Microsoft.Maps.Events.addHandler(this._map, 'click', function(e) {
    self._onmapclick(e);
  });
  this._handlers.dblclick = Microsoft.Maps.Events.addHandler(this._map, 'dblclick', function(e) {
    self._onmapdblclick(e);
  });
}

We store the click and dblclick handlers on a _handlers object (instance variable), because we need to remove them when the map exits the drawing mode. First, we must add them when the drawing mode starts, as shown in the following code snippet:

_start: function() {
  this._changeMouseCursor...

Polylines


Now, let's create a line that will connect the pushpins, by adding the following code to our _start function:

this._line = new Microsoft.Maps.Polyline([new Microsoft.Maps.Location(0, 0)], {
  strokeColor:     new Microsoft.Maps.Color(200, 240, 76, 64),
  strokeThickness: 2
});
this._counter = 0;

The Polyline class' constructor accepts two arguments: an array of locations and a PolylineOptions object. We initialize our polyline with an array containing a dummy location, and a couple of options (the full reference of PolylineOptions can be found at http://msdn.microsoft.com/en-us/library/gg427595.aspx):

  • strokeColor: This option specifies the color of the polyline, which in our case is pink

  • strokeThickness: This option specifies the thickness of the polyline in pixels

We also maintain a count of the user clicks, which also stores the number of locations that make up the polyline. We make sure to reset the _counter instance variable when the user starts drawing, so that the clicks are not...

Summary


Bing Maps AJAX Control provides a powerful Events library, which can be used to add even custom events. In this chapter, we displayed a Pushpin on the map and styling it entirely via CSS. In this chapter we learned how to get the geographical location from a point on the map, generated by a mouse click. From these locations, we created polylines styled beautifully with the PolylineOptions object.

In the next chapter, we will learn how to get even more information, such as address data from a point on the map.

Left arrow icon Right arrow icon

Key benefits

  • Display address information for any point on the map through the location-based REST services API
  • Embed a map on a web page with a custom theme
  • Geocode with Spatial Data APIs and display the information on the map

Description

Provided as a part of Microsoft's Bing suite of search engines, Bing Maps is a web mapping service powered by the Bing Maps for Enterprise framework. The need for geospatial data has increased dramatically in the last few years. Adding a mapping context to any location-based data is becoming more and more common, and businesses are embracing it to improve their user experience with new data richness. Comprising of simple, follow-along examples, Learning Bing Maps API will show you how to use the many features of Bing Maps, from dropping a simple map on a web page, to fetching geospatial data from the Microsoft servers. Through the course of this book you will build a solid foundation for creating your own geo-applications.Following the hands-on recipes of this book, you will build a different web app in each chapter as you communicate with different APIs provided by Bing Maps. You will build your own library of JavaScript modules that talk to the Microsoft Maps API.You will create a custom theme for the map, with your own controls. Taking advantage of the global reach of Bing Maps, you will learn how to build a route scheduler for a delivery company in Madrid, Spain, and then you will discover how to create jobs on the Bing Maps servers for geocoding addresses in California, USA. By the end of the book you will have learned everything you need to know to embed a map on a web page, with your own geo-data, or data obtained by the Bing Map Services.

Who is this book for?

If you are a developer who wants to learn how to exploit the numerous features of Bing Maps then this book is ideal for you. It can also be useful for more experienced developers who wish to explore other areas of the APIs. It is assumed that you have some knowledge of JavaScript, HTML, and CSS. For some chapters a working knowledge of .Net and Visual Studio is also needed.

What you will learn

  • Place a map on a page and customize its look and feel
  • Perform a query using the coordinates of a point on a map
  • Display a shape, polyline, pin, or infobox when users click on the map
  • Query for route information between two or more points and show it on the map
  • Parse the response to the API requests in JSON and XML formats
  • Set up and monitor jobs for address geocoding, as well as parsing the response when the job is complete
  • Fetch geographical information in the form of polygon strings for different levels of administrative areas, from postcodes to regions or countries
  • Display user data on the map, such as electoral results, over a period of time
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Nov 22, 2013
Length: 116 pages
Edition : 1st
Language : English
ISBN-13 : 9781783550371
Vendor :
Microsoft
Category :
Languages :

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

Product Details

Publication date : Nov 22, 2013
Length: 116 pages
Edition : 1st
Language : English
ISBN-13 : 9781783550371
Vendor :
Microsoft
Category :
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 96.77 120.97 24.20 saved
Google Maps JavaScript API Cookbook
$39.19 $48.99
Learning Bing Maps API
$31.19 $38.99
JavaScript and JSON Essentials
$26.39 $32.99
Total $ 96.77 120.97 24.20 saved Stars icon

Table of Contents

7 Chapters
Introduction to Bing Maps AJAX Control Version 7 Chevron down icon Chevron up icon
Diving into Bing Maps AJAX Control Version 7 Chevron down icon Chevron up icon
Introduction to Bing Maps REST Services Chevron down icon Chevron up icon
Diving into Bing Maps REST Services Chevron down icon Chevron up icon
Spatial Data Services Chevron down icon Chevron up icon
Diving into Spatial Data Services Chevron down icon Chevron up icon
Enriching Bing Maps with Overlaying User Data Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
(2 Ratings)
5 star 50%
4 star 0%
3 star 50%
2 star 0%
1 star 0%
Feleo Feb 16, 2014
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Das Buch behandelt umfassend, prägnant und ohne verbale Schnörkel den Einsatz der Bing Maps API-Technologie. Die Beispiele sind leicht nachvollziehbar, man sollte allerdings einigermaßen fit in JavaScript sein. ASP.NET-MVC-Minimalkenntnisse genügen.Klare Kaufempfehlung!
Amazon Verified review Amazon
Life long learner Dec 13, 2014
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
Easy to read starter book
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the digital copy I get with my Print order? Chevron down icon Chevron up icon

When you buy any Print edition of our Books, you can redeem (for free) the eBook edition of the Print Book you’ve purchased. This gives you instant access to your book when you make an order via PDF, EPUB or our online Reader experience.

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
Modal Close icon
Modal Close icon