新西兰代写assignment|Google IT Project

浏览: 日期:2020-06-10

Chapter 1

1.1 Introduction

1.1.1 Overall aim of the project

Almost everybody who has access to the Internet knows Google as one of the most reliable search engines in the World Wide Web. In the past few years Google has developed many useful services like Google mail and Google API (Application Program Interface). In this project we are going to use the API service and especially Google Maps API. The Google Maps API is an open source service which let us embed Google Maps in our own web pages. The API provides a number of utilities for manipulating maps and adding content to the map through a variety of services, allowing us to create robust maps applications on our website.

There is nobody in this world that hasn’t made these questions to himself: “Where can I found this place?” or “How can I get there?” Most modern cars are equipped with Global Positioning Systems (GPS) which help the driver to find addresses and get there quick and easy. Another useful function that most GPSs have is a preinstalled list of Points Of Interest (POI) separated into categories for many different countries. So the driver can find restaurants, museums, hotels, without the need of knowing the specific address, by just selecting the category and the name.

The main idea of this project is to create a web site using Google Maps in order to give the opportunity to the users to find Points Of Interest online, without the need of an expensive machine like the GPS. The users will be able to select a residence area in Athens and then a map of this area will be appeared with all the Points Of Interest marked.

1.1.2 Details of the problem

As we mentioned in the previous section in order to make our web site to work we used the Google Maps API service. The Google Maps API is integrated with the Google AJAX (Asynchronous JavaScript and XML) API loader, which creates a common framework for loading and using multiple Google AJAX APIs (detailed information about AJAX, API, JavaScript and eXtensible Markup Language -XML- can be found in section 1.2).

The dissertation will be based on a website from where the user will be able to choose a residence area in Athens and then, a map of this area will be appeared with all the Points of Interest marked. These points will be placed according to their real position in earth. To do this, we will use their Longitude, Latitude values. A variety of information will be available for each point and also filters could be applied for specific points (i.e.: just museums). Finally an advanced goal will be the system to be able to print detailed directions for the user to go to the store from his house. The whole project will be based on a PHP web page, JavaScript and a Database.

In the beginning of the project we decided to build two different interfaces, one for internal communication (Business to Business – B2B) and another for external communication with the customers (Business to Customer – B2C), but during the analysis we found out that is better to have one interface with multiple users having different privileges. So there will be an administrator who will able to manage POIs (add/delete/modify) and registered users who will be able to see the POIs and propose new ones.

1.1.3 Project Objectives

After the completion of the implementation we have now the ability to provide a final and revised list of project objectives.

  • Online information and promotion for many Points Of Interest.
  • Creation of a dynamic web site. We tried to reduce as much as possible the interference of the administrator with the code. Most actions and customizations can be made through visual tools. Also we said that this web site has information and residence areas for Athens but this does not mean that it cannot be used for other cities and other countries.
  • Provide to the users free and quick information about places.
  • Flexible web site using latest web technologies like AJAX and XML.

1.2 Academic Context

1.2.1 History of Internet and World Wide Web

In order to get the origins of the internet we have to make a journey back in time to 1957. At this period United States of America and USSR were planning to launch a small earth orbiting satellite. United States scientists focused on a sophisticated three stage rocket but in Russia they took a more direct approach by strapping four military rockets together so on 4 October 1957 the USSR launched Sputnik I. The reaction in the United States was immediate, so they created the Advanced Research Projects Agency (ARPA) within the Ministry of Defense. Its mission was to supply state of the art technology to US defense and to avoid being surprised again.

ARPA gathered a couple of hundred top scientists to focus on research for many different technological subjects. In 1962 ARPA opened a computer research program and appointed to its head an MIT scientist John Licklider. Licklider had just published his first memorandum on the “Galactic Network” concept, which was a futuristic vision where many computers would be networked together and would be accessed to everyone. In the same time within ARPA, Leonard Klienrock had many ideas about developing a network, where information could be sent between the computers into small packets of data.

The inadequacy of the telephone network for running programs and transferring data was revealed in 1965 when, in a part of an experiment, computers in Berkley and MIT were linked together over a low speed dial up telephone line and became the first Wide Area Network (WAN) ever created. After a lot of research between teams at MIT, the National Physics Laboratory (UK) and by RAND Corporation, the ARPANET network was created and the best ideas, from the research on wide area networks, were incorporated into ARPANET design which became the ancestor of today’s internet. By September 1971 ARPANET linked 23 host computers to each other (Figure 1.1).

Figure 1.1 – ARPANET in 1971

In 1974, ARPA scientists working with experts in Stanford developed a common language that would allow different networks to communicate with each other. This was known as a Transmission Control Protocol/Internet Protocol (TCP/IP). That was the main ‘key’ for the evolution of the internet. Many networks created and with the help of this protocol they were connected together, making reality the “Galactic Network” idea of John Licklider. By the end of 1980 more and more computers were connected together making a huge network using the TCP/IP protocol (Figure 1.2).

Figure 1.2 – ARPANET in 1980

On the other hand the World Wide Web (WWW), which is a network of web sites that can be searched and retrieved through HyperText Transfer Protocol (HTTP), was introduced in 1989 by Tim Berners-Lee and other scientists in CERN (Geneva) the European Centre for High Energy Physics. The main idea was to make the retrieval of research documentation easier .So they developed a browser/editor program and gave the name World Wide Web. Later on, an improved browser was developed which allowed the links to be hidden behind text using a Hypertext Markup Language (HTML).

With the invention of TCP/IP networking and the World Wide Web, the internet took the nowadays appearance. Of course, techniques and new protocols were developed; so many that we could base a whole dissertation on them.

1.2.2 Maps and Earth Measurement Techniques

Maps were invented to guide native and foreign people to a place. Human developed and updated all kind of maps and as the technology evolved these maps took their electronic form as almost everything in this world. On the other hand the use of satellites helped extremely in the geographical survey of the earth and as a result the invention of the GPS (Global Positioning System) was the beginning of a new era in the use of electronic maps. Using an “eye in the sky” people could now be able to know their precise position on the earth and use this information for several purposes. In the beginning GPS was used in airplanes and vessels providing information about their place, the elevation and their speed. The last few years the GPS was integrated in cars providing details about the road names and giving detailed directions to go from one place to another.

In order to determine a position on the earth, we separated the earth into horizontal and vertical lines (Figure 1.3) known as latitude (horizontal) and longitude (vertical).

Figure 1.3 – Separation of the earth using Latitude and Longitude coordinates.

Latitude is the angle at the centre of the coordinate system between any point on the earth's surface and the plane of the equator. The lines which join points of the same latitude are called parallels and they make concentric circles on the surface of the earth. Each pole is 90 degrees, the North Pole is 90º N and the South Pole is 90º S. The 0º parallel of latitude is called equator which imaginary divides the earth into the Northern and Southern hemispheres.

Longitude is the angle east or west, at the centre of the coordinate system, between any point on the earth's surface and the plane of an arbitrary north-south line between the two geographical poles. The lines which join points of the same longitude are called meridians. All meridians are halves of great circles and are not parallel. The line passing through the Royal Observatory, Greenwich (UK) is the international zero longitude reference line, the Prime Meridian. The antipodal (earth’s opposite surface) meridian of Greenwich is both 180º W and 180º E.

By combining these two angles every position on the earth can be specified. Also in order the coordinates to be more specific we divide degrees into minutes and seconds.

  • JavaScript

JavaScript is a scripting language which is most often used for client side web development. JavaScript was influenced by many programming languages but it was designed to have similar look with Java. It has first class functions which let the user to manipulate the HTML script. Those functions can be called from the HTML (for example when hitting a button or a link) and variables can be sent from HTML to JavaScript and reversed. Except from the web JavaScript is used in programs like Macromedia Director as the programming language.

  • XML

XML stands for eXtensible Markup Language, it was classified as extensible language because it allows its users to create and define their own elements. Its main purpose is the sharing of structured data across different information systems and especially through the Internet. XML consists of tags, each one defining the elements that are going to be stored; every tag must have a start - <tag> - and an end - </tag> -.Although there are other markup languages, XML is recommended by the World Wide Web Consortium. Nowadays XML is used by many web applications and many people using it without knowing it, as it is working in the background (RSS Feeds). An example of the XML syntax can be found on Figure 1.4.

Figure 1.4 – XML structure example.

  • Google Maps and Google Maps API

Google Maps features a map that can be navigated by dragging the mouse, or using the mouse wheel to zoom in or out to show detailed street information. Users may enter an address, intersection or general area to quickly find it on the map. Like many other map services, Google Maps allows for the creation of driving directions. It gives the user a step by step information of how to get to a place, the time needed and the distance between these places. Google Maps offers five viewing modes by default: Map (topographic and street map), Satellite (satellite and high-resolution aerial photographs), "Terrain" (geographic features in high relief with street overlay), Street View (Ground level 360 degree view of certain streets), and Traffic' (traffic maps).

As the Google Maps code is almost entirely JavaScript and XML, some end-users reverse-engineered the tool and produced appropriate scripts which allowed a user or website to introduce extended or customized features into the Google Maps interface. Using the map/satellite images hosted by Google, such tools can introduce custom location icons, location coordinates and metadata.

Google created the Google Maps API integrated with Google AJAX API loader to the opportunity to the developers to embed the maps into their websites and point their own places on them. It is a free service for home users, which currently does not contain ads, but Google states in their terms of use that they reserve the right to display ads in the future. By using the Google Maps API we can embed the full Google Maps on an external web site. First we need to get an API key which will be bound to the web site and directory that we used to acquire that key. Creating our own map interface involves adding the Google JavaScript code to our page, and then using JavaScript functions to add points and many other interactive things to the map.

  • AJAX

AJAX (Asynchronous JavaScript and XML), is one of the many web development techniques for creating interactive web applications. The target is to make web pages feel more responsive by exchanging small packets of data with the server so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page's interactivity, speed, functionality, and usability. AJAX is asynchronous so any data requested from the server is loaded in the background without interfering with the display and the behavior of the user’s current web page. AJAX is using JavaScript in order to call the necessary functions and methods. The key technology that makes AJAX work is the XMLHttpRequest JavaScript object which is an API that can be used by JavaScript, and other web browser scripting languages to transfer XML and other text data to and from a web server using HTTP, by establishing an independent and asynchronous communication channel between a web page's Client-Side and Server-Side. A detailed diagram of how AJAX works can be found in Figure 1.5.

Figure 1.5 – AJAX Communication Diagram

If we examine the figure 1.5 we can see an AJAX Engine component. Actually this is not a standalone component being somewhere over the internet but we can describe it as a “loader” embedded in our web page which communicates continually with the web server. From now on we are going to refer to it as AJAX Engine.


几乎每个人都谁有权访问互联网的人都知道谷歌在万维网上最可靠的搜索引擎之一。在过去的几年中,谷歌已经开发了许多有用的服务,如谷歌邮件和谷歌的API (应用程序接口) 。在这个项目中,我们将要使用的API服务,尤其是谷歌地图API 。谷歌地图API是一个开源的服务,这让我们在我们自己的网页中嵌入谷歌地图。 API提供了大量实用工具来操作地图和将内容添加到地图上,通过各种各样的服务,使我们能够创建强大的地图应用程序在我们的网站上。
有没有人在这个世界上并没有作出自己这些问题: “我在哪里可以找到这个地方? ”或“我怎样才能到达那里? ”大多数现代汽车都配备了全球定位系统(GPS)帮助驾驶员找到地址,并有快速和容易获得。另一个有用的功能,大多数GPS装置是一个预装的兴趣点( POI),分成许多不同的国家类别列表。因此驱动程序可以找到餐厅,博物馆,饭店,而不需要知道具体的地址,只要选择的种类和名称。
这个项目的主要思想是建立一个网站,为了给用户利息网上找点机会使用谷歌地图,一个昂贵的机器,而不需要像GPS 。用户将可以选择在雅典和居住区域,那么这个区域的地图将会出现所有的兴趣点标记。
正如我们在上一节中,为了使我们的网站工作,我们使用谷歌地图API服务。谷歌地图API的集成与谷歌AJAX (异步JavaScript和XML ) API装载机,它创建了一个共同的框架加载和使用多个谷歌AJAX的API (详细信息API , AJAX , JavaScript和可扩展标记语言XML可以发现在1.2节) 。
本论文将根据网站上的用户将可以选择在雅典和居住区,这个区域的地图将出现的所有标景点。这些点可以根据自己的真实位置在地球上放置。要做到这一点,我们会用自己的经度,纬度值。将可为每个点的各种信息,也过滤器可应用于特定点(即:只是博物馆) 。最后,先进的目标将是该系统能够为用户打印详细的指示,从他家到店里去。整个项目将基于一个PHP网页, JavaScript和数据库。
在项目开始的时候,我们决定建立两个不同的接口,一个用于内部通信(企业对企业 - B2B ) ,另一个用于与客户的外部通信(商业客户 - B2C ) ,但在分析过程中,我们发现是更好地有一个接口与多个用户具有不同的权限。所以会有管理员将能够管理的POI (添加/删除/修改)和注册用户,谁就能看到兴趣点,并提出新的。
灵活的网站利用最新的网络技术,如AJAX和XML 。
为了得到互联网的起源,我们必须做出一个旅程时间为1957年。在此期间,美国的美国和苏联计划推出一个小型的地球轨道卫星。美国科学家专注于一个复杂的三级火箭,但在俄罗斯,他们采取了更为直接的方法捆扎在一起,使4个军用火箭1957年10月4日,苏联发射人造卫星一在美国的反应是立即的,所以他们创造了先进的研究计划署( ARPA )国防部内。它的使命是提供最先进的技术状态,美国国防和避免再次惊讶。
ARPA聚集一对夫妇百强科学家把重点放在研究许多不同的技术学科。 1962年, ARPA打开计算机研究计划,并任命头麻省理工学院的科学家约翰利克莱德。利克莱德刚刚出版了他的第一备忘录“银河网络”的概念,这是一个未来的愿景,许多电脑联网在一起,大家将访问。在同一时间内ARPA ,伦纳德Klienrock有很多想法,发展网络,信息可以成小数据包的计算机之间发送。
电话网络正在运行的程序和传输数据的不足显露在1965年的时候,在一个实验的一部分,伯克利分校和麻省理工学院的计算机连接在一起超过低速拨号电话线,并成为第一个广域网(WAN )曾经创造。在麻省理工学院,国家物理实验室(英国)和兰德公司, ARPANET网络的创建和最好的思路,从广域网的研究团队之间经过了大量的研究,被纳入ARPANET的设计,成为祖先今天的互联网。 1971年9月通过ARPANET连接23个主机到对方(图1.1) 。
图1.1 - 在1971年的阿帕网
1974年,ARPA与在斯坦福大学的专家工作的科学家开发出一种共同的语言,将允许不同的网络互相沟通。这被称为传输控制协议/ Internet协议( TCP / IP) 。这是主要的'关键'互联网的演变。许多建立的网络和与此协议的帮助下,它们连接在一起,使现实中的“银河网络”的想法约翰利克莱德。结束1980年越来越多的计算机连接在一起,使一个庞大的网络使用TCP / IP协议(图1.2) 。
图1.2 - 在1980年的阿帕网
另一方面,万维网( WWW ) ,这是一个可以通过超文本传输协议(HTTP)的搜索和检索网络网站,于1989年推出,由蒂姆·伯纳斯 - 李和其他科学家在欧洲核子研究中心(日内瓦)欧洲高能物理中心。其主要思想是使检索的研究文档更容易,所以他们开发出了浏览器/编辑器程序的名字了万维网。后来,改进的浏览器开发,允许使用超文本标记语言(HTML)的文字背后隐藏链接。
发明了TCP / IP网络和万维网,互联网时下外观。当然,技术和开发新的协议,这么多,我们可以立足整个论文。
地图的发明,引导本地和外国的人到一个地方。人力开发和更新各类地图,并随着技术的发展,这些地图了他们在这个世界上几乎所有的电子形式。另一方面利用卫星在地球的地理调查和帮助非常的GPS(全球定位系统) ,因此该发明是利用电子地图中的一个新的时代开始。使用“天眼”的人,现在可以知道他们在地球上的精确位置,并利用这些信息用于多种用途。在开始使用GPS是在飞机和船只提供信息的地方,海拔和他们的速度。过去几年中, GPS被集成在汽车提供详细的路名,并给出详细的指示,从一个地方到另一个。
为了确定在地球上的位置,我们分开了地球纬度(水平)和经度(垂直)被称为成水平线和垂直线(图1.3) 。
图1.3 - 使用分离的地球纬度和经度坐标。
纬度是在地球表面的任何点上,与赤道平面的坐标系之间的中心角。被称为连接点同纬度线平行,它们在地球表面上的同心圆。每一杆是90度,北极90° N和南极为90° S的0°纬线被称为虚赤道将地球分为北半球和南半球。
经度角东或西,上面的中心的坐标系中,在地球表面上的任何一点与平面的任意两个地方磁极之间的南北线。加入同一经度点线被称为经络。所有经线都是大圆的一半,是不平行的。该生产线通过皇家天文台,格林威治(英国)是国际零度经线参考线,本初子午线。反足(地球的相反面)格林威治子午线既是180° W和180° E。
JavaScript是一种脚本语言,这是最常用的客户端的Web开发。 JavaScript是受到许多编程语言,但它被设计为具有类似的外观与Java 。它具有一流的功能,它可以让使用者操纵的HTML脚本。这些功能可以调用(例如,当击中一个按钮或链接的HTML )和变量可以发送从HTML到JavaScript和逆转。除用于从Web上的JavaScript Macromedia Director之类的编程语言的程序。
XML可扩展标记语言,它被列为可扩展的语言,因为它允许用户创建和定义自己的元素。其主要目的是在不同的信息系统,特别是通过互联网上的结构化数据共享。 XML标签,每一个定义的元素会被存储,每一个标签都必须有一个开始 - <TAG> - 结束 - < /标签> - 虽然也有其他标记语言, XML建议万维网联盟。如今XML是用来由许多Web应用程序和许多人使用它,因为它是在不知情的情况下,工作在后台( RSS订阅) 。 XML语法的一个例子,在图1.4中可以找到。
图1.4 - XML结构的例子。
谷歌地图提供的地图,可以通过拖动鼠标或使用鼠标滚轮来放大或缩小显示详细的街道信息导航。用户可以输入地址,交叉路口或一般区域来快速查找它在地图上。像许多其他的地图服务,谷歌地图可以创建行车路线。它为用户提供了一步一步的信息,怎么去一个地方,所需要的时间,这些地方之间的距离。谷歌地图提供五种观看模式默认情况下:地图(地形和街道地图) ,卫星(卫星和高分辨率的航拍照片) , “地形” (高浮雕与街道覆盖的地理特征) ,街景(地面水平360度视图某些街道)和交通(交通图) 。
由于谷歌地图代码几乎完全是JavaScript和XML ,一些最终用户的逆向工程工具和适当的脚本,它允许一个用户或网站引入到谷歌地图接口扩展或定制功能。使用地图/卫星图片由​​谷歌托管,这样的工具可以引入自定义位置的图标,位置坐标和元数据。
谷歌创建了谷歌地图API的集成与谷歌AJAX API装载机的机会,开发商将地图嵌入到自己的网站,并指向他们自己的地方。这是一项免费服务,对于家庭用户来说,目前不包含广告,但谷歌在其使用条款,他们有权在未来显示广告。通过使用谷歌地图API ,我们可以在外部网站上嵌入谷歌地图。首先,我们需要获得一个API密钥将被我们用来收购该键绑定的网站和目录。建立我们自己的地图界面,涉及谷歌的JavaScript代码加入到我们的网页,然后使用JavaScript函数的加点和其他很多互动的东西在地图。
AJAX (异步JavaScript和XML ) ,是一种创建交互式Web应用程序的许多web开发技术。我们的目标是使网页感觉更加敏感小数据包交换服务器,使整个网页不必每次重新加载用户要求改变。这是为了增加的Web页面的交互性,速度,功能,和使用感觉。 AJAX是异步的,因此不干扰用户的当前网页的显示和行为的情况下,任何从服务器请求的数据在后台加载。 AJAX使用JavaScript ,以便调用所需的功能和方法。使得AJAX工作的关键技术是XMLHttpRequest的JavaScript对象,这是一个API, JavaScript和其他Web浏览器脚本语言,可用于XML和其他文本数据传输,使用HTTP从Web服务器,通过建立独立,一个网页的客户端和服务器端之间的异步通信通道。图1.5中,可以发现AJAX是怎样工作的详细图。
图1.5 - AJAX通信图