Giter Club home page Giter Club logo

mapzengo's People

Contributors

brnkhy avatar rrhyne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapzengo's Issues

POI not working

Hi all,

im struggeling with the POI system, when i downloaded the latest version of Mapzen GO there wasn't any POI thing going on, so i searched in the script files and found a POI script and a PoIFacetorySettings script.
I added the POI script to the PoiContainer object. But i don't understand the Id, Type, Kind, etc. How does this work? I'm a bit of a noob at the moment so I don't know all these things yet.

I hope somebody can help me,

Thanks!

BUG BuildingFactory: buildings are not rendered correctly

Sometimes, a building is not rendered properly. It may be that the wall normal are in the wrong direction, e.g. the wall is not drawn when looking from outside to inside, but is visible the other way round.

For example, see the building within the red line (three times the same building, seen from the top, the bottom, and in the camera).
Lat: 51.45179
Lon: 5.481454
Range: 2
Zoom: 17
Tile Size: 100

image

Offline data possibillity?

Hi, Thank you for sharing this
great job sir

I'm wondering if you could add feature for offline data map and saving the map mesh on editor? Openstreetmap can export specific area, and we can convert it into geojson with geojson.io, or Mapzen provide an extracted data geojson files, but i couldn't understand how to convert it to your tilemap because I'm not understand enough about the long/lat conversion.

Thank you very much, I'm sorry for my poor English

Water layer yields inverted meshes

unity_2016-09-14_15-05-32

water layer sometimes inverts the water meshes, as seen in image, left side is totally broken and that japanese island is marked as "water"

lat/long/zoom : 36.13793, 138.4419, 5

Save the files(tile json) to disk

You can add saving and loading files from disk.

private void LoadTile(Vector2 tileTms, Tile tile) {
            var url = string.Format(_mapzenUrl, _mapzenLayers, Zoom, tile.GetTileTms.x, tile.GetTileTms.y, _mapzenFormat, _key);
            var pathFile = PathSaveJsonFile + tile.GetTileTms.x + "-" + tile.GetTileTms.y;
            if (File.Exists(pathFile)) tile.ConstructTile(pathFile, true);
            else {     ObservableWWW.Get(url).Subscribe(
                        tile.ConstructTile, //success
                        exp => Debug.Log("Error fetching -> " + url)); }
        }

Share materials with ground object

The ground material is always instanced on the map tiles. This prevents ground tiles from being batched. I'd make a material member in the World class that you can drag a material to (The default Ground material, perhaps) and then assign this material to the ground as tiles are built. That way you aren't creating a new material instance for each ground tile.

Just running the BasicLoader scene gets null reference exceptions

I get a bunch of Null Reference Exceptions when I run the Basic Loader in the latest version:

NullReferenceException: Object reference not set to an instance of an object
Assets.Models.Factories.BuildingFactory+c__Iterator1.MoveNext () (at Assets/MapzenGo/Models/Factories/BuildingFactory.cs:31)
System.Linq.Enumerable+c__Iterator122[JSONObject,UnityEngine.MonoBehaviour].MoveNext () Assets.Tile.RunFactories (.JSONObject mapData) (at Assets/MapzenGo/Models/Tile.cs:94) Assets.Tile+<ConstructAsync>c__AnonStorey38.<>m__15 (.JSONObject mapData) (at Assets/MapzenGo/Models/Tile.cs:70) UniRx.Observer+Subscribe1[JSONObject].OnNext (.JSONObject value) (at Assets/MapzenGo/Plugins/UniRx/Scripts/Observer.cs:164)
UniRx.Operators.ObserveOnObservable1+ObserveOn_[JSONObject].OnNext_ (.JSONObject value) (at Assets/MapzenGo/Plugins/UniRx/Scripts/Operators/ObserveOn.cs:159) UniRx.Scheduler+MainThreadScheduler+QueuedAction1[JSONObject].Invoke (System.Object state) (at Assets/MapzenGo/Plugins/UniRx/Scripts/UnityEngineBridge/MainThreadScheduler.cs:203)
UniRx.InternalUtil.ThreadSafeQueueWorker.ExecuteAll (System.Action`1 unhandledExceptionCallback) (at
errors

Cant Build an APK for android

Hi,
You are doing great work.
I can able to build exe file for project but unable to build apk for android. can you please help me out

Thank You!

ConvertToEnum fails with composite words (in geojson)

The ConvertToEnum in class Extensions throws sometimes an exception. The problem is with composite words in the enum name.

E.g.
The enum definition LanduseKind has enum "RecreationGround" but geojson returns "Recreation_Ground".

The easy way is to remove the "_" from the string before converting.

Every exception is a large performance penalty!

TileManager not included in World component

Created blank project, included files in assets, tried to run BasicLoader and got null exception error in World:26. Putting Tilemanager in World component solved problem.

This is Unit 5.4.0p4 Personal.

Allow for custom materials on each layer

I modified the Factory class to have a material member:

public Material objectMaterial;

And then in each Factory's subclass, I assign that material to the mesh after it's created. I can merge this change in, I suppose. But it's a simple fix to make. That way you can easily change the color of the buildings, water, etc. upon creation.

Create a road network

OSM road data is just a bunch of unrelated segments and I feel that it limits mapzengo quite a lot. Is there a way to get a proper connected graph from osm or any other free services? OR can we connect those road segments with %90+ success procedurally? It can be done for sure but it'll be a quite painful task and probably take lots of time.

Merge objects based on their type (using layers)

now we have one object for all buildings under a tile
if we change that to one obj for standard buildings, one for hospitals one for religious buildings etc, we'll be able to use type materials on those objects as well.
There'll be a small performance hit but probably wont even be noticable

Stop re-centering world on tile update

Maybe there's a better way to do this, but I can't place 3D objects on top of the map in world coordinates (say, a monster 4 units away from the player in world units) because the camera / player is reset back to 0,0,0, when he moves off the screen and the tiles are dynamically loaded.

I guess you could either not reset the camera/player position, or maybe we need a function that converts lat/lng to world coordinates based on the current player location--and then those game objects can have their world position updated based on their lat/lng whenever the camera resets?

Can objects (roads, buildings) be textured?

This may be totally due to my ignorance of unity materials and textures, which is vast, but I can't seem to get a textured material to render properly on roads or buildings.

Sorry to create an "issue" out of it, Baran.

Tiles don't line up exactly

Perhaps it's because I'm not using LoadImage, but I've noticed that the tiles don't always line up against eachother--there's usually a gap in-between map tiles.
seams

Performance tip: Determine layers to load dynamically

Currently, you specify in Unity (TileManager script) the layers to load. Alternatively, you could determine them automatically, so the user will never load more layers than he actually needs, based on the XmlTags that are in use. I.e.

In TileManager.cs:

  • I've removed the readonly and [SerializeField] of _mapzenLayers
  • after loading the plugins in InitFactories() I've added a call to InitLayers()
        private void InitLayers()
        {
            var layers = new List<string>();
            foreach (Factory plugin in _plugins)
            {
                if (layers.Contains(plugin.XmlTag)) continue;
                layers.Add(plugin.XmlTag);
            }
            _mapzenLayers = string.Join(",", layers.ToArray());
        }

Performance is terrible on DynamicLoader

Maybe it's due to the null exceptions, but the DynamicLoader scene brings my MacBook Pro to its knees. Didn't have this problem with previous versions. Not sure what the problem is, because when I try to run the profiler, Unity hangs.

Build fails (UnusedBytecodeStripper2 error)

When trying to build inserting only the CachedDynamicLoader as a scene I get the following error and no build files are generated. I think is because some paths with mixed separators (I'm on Windows) like this:
"C:\Tactics\OpenMap3/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml"

Can you point me at the settings files where these paths are set?

Here is the message extracted from the log

Invoking UnusedByteCodeStripper2 with arguments: -out "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\tempStrip" -l none -c link -b False -x "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\Whitelists\Core.xml" -f "C:\Program Files\Unity\Editor\Data\il2cpp\LinkerDescriptors" -x "C:\Tactics\OpenMap3/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml" -x "C:\Tactics\OpenMap3\Temp\StagingArea\Data\preserved_derived_types.xml" -d "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed" -a  "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll" -a  "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\Assembly-UnityScript.dll" -a  "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\UnityEngine.Analytics.dll"
C:\Program Files\Unity\Editor\Data\Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe exited after 698 ms.
Failed running C:\Program Files\Unity\Editor\Data\Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe -out "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\tempStrip" -l none -c link -b False -x "C:\Program Files\Unity\Editor\Data\PlaybackEngines\WebGLSupport\Whitelists\Core.xml" -f "C:\Program Files\Unity\Editor\Data\il2cpp\LinkerDescriptors" -x "C:\Tactics\OpenMap3/Temp/StagingArea/Data/methods_pointedto_by_uievents.xml" -x "C:\Tactics\OpenMap3\Temp\StagingArea\Data\preserved_derived_types.xml" -d "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed" -a  "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll" -a  "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\Assembly-UnityScript.dll" -a  "C:\Tactics\OpenMap3\Temp\StagingArea\Data\Managed\UnityEngine.Analytics.dll"

stdout:
ERROR: Failed to resolve base type System.Configuration.ApplicationSettingsBase for type SSAA.Properties.Settings
Fatal error in Mono CIL Linker
System.Exception: ERROR: Failed to resolve base type System.Configuration.ApplicationSettingsBase for type SSAA.Properties.Settings
   at UnusedBytecodeStripper2.ResolveFromMonoBehaviours.IsMonoBehaviourOrScriptableObject(TypeDefinition type)
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at UnusedBytecodeStripper2.ResolveFromMonoBehaviours.Process(LinkContext context)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at Mono.Linker.Driver.RunDriver(Driver driver)
stderr:

UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:98)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:104)
UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String[], String[], String, String, String&, String&, String, IIl2CppPlatformProvider, IEnumerable`1, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:97)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(String, IEnumerable, String, String[], String[], String, IIl2CppPlatformProvider, RuntimeClassRegistry, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:208)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, IIl2CppPlatformProvider, RuntimeClassRegistry, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:128)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:205)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:139)
UnityEditor.WebGL.WebGlBuildPostprocessor:PostProcess(BuildPostProcessArgs) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:373)
UnityEditor.PostprocessBuildPlayer:Postprocess(BuildTarget, String, String, String, Int32, Int32, String, String, BuildOptions, RuntimeClassRegistry, BuildReport) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:176)

(Filename: /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs Line: 373)

Exception: C:\Program Files\Unity\Editor\Data\Tools/UnusedByteCodeStripper2/UnusedBytecodeStripper2.exe did not run properly!
  at UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1 setupStartInfo) [0x00160] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:100 
  at UnityEditorInternal.AssemblyStripper.RunAssemblyLinker (IEnumerable`1 args, System.String& out, System.String& err, System.String linkerPath, System.String workingDirectory) [0x00034] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:104 
  at UnityEditorInternal.AssemblyStripper.StripAssembliesTo (System.String[] assemblies, System.String[] searchDirs, System.String outputFolder, System.String workingDirectory, System.String& output, System.String& error, System.String linkerPath, IIl2CppPlatformProvider platformProvider, IEnumerable`1 additionalBlacklist, Boolean developmentBuild) [0x001b1] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:97 
  at UnityEditorInternal.AssemblyStripper.RunAssemblyStripper (System.String stagingAreaData, IEnumerable assemblies, System.String managedAssemblyFolderPath, System.String[] assembliesToStrip, System.String[] searchDirs, System.String monoLinkerPath, IIl2CppPlatformProvider platformProvider, UnityEditor.RuntimeClassRegistry rcr, Boolean developmentBuild) [0x000cc] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:208 
  at UnityEditorInternal.AssemblyStripper.StripAssemblies (System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, UnityEditor.RuntimeClassRegistry rcr, Boolean developmentBuild) [0x0002b] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\AssemblyStripper.cs:128 
  at UnityEditorInternal.IL2CPPBuilder.Run () [0x00051] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:205 
  at UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action`1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry, Boolean developmentBuild) [0x0000d] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:139 
  at UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (BuildPostProcessArgs args) [0x001ee] in /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:373 
  at UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) [0x000ce] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:176 

(Filename: /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs Line: 373)

Overlapping roads of different type and color flicker

Hi there,

first of all amazing work!
I recognized that roads of different type and color flicker.
The reason for this is probably the same as with #29.
Maybe you should consider to give the different road types a height as well, so that the layers don't overlap.
road

Greetings and thanks for your work,

Erik

Floating roads.

Roads floating 2 units above ground. I've identified and submitted a fix in patch-1 branch based off dev.

Style options to remove street names, underlying tile bitmap

So is there a way with the MapZen API to get tiles with no street names on them and no bitmap image for the tile? It seems like these tiles have buildings and roads as vector objects built on top of a tile bitmap that has the street names etc. on them. Can we have options to choose tile styles? I really just want to show the 3D roads / water / land / buildings, but not the tile bitmap.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.