Comments (6)
@jonas-jaderberg the Zoom property being a string is a legacy issue - I'm not sure why it's causing problems when you serialise though? can you demonstrate with a code sample perhaps?
from our.umbraco.gmaps.
@robertjf here is some sample code which I use when I import data that I have geocoded. It also include that hack I do to fix the problem.
Our.Umbraco.GMaps.Models.Map gmap = new Map();
gmap.Address = new Address();
gmap.Address.Coordinates = new Location();
gmap.Address.Coordinates.Latitude = r.Results[0].Geometry.Location.Lat;
gmap.Address.Coordinates.Longitude = r.Results[0].Geometry.Location.Lng;
gmap.MapConfig = new MapConfig();
gmap.MapConfig.Zoom = "15";
string json = JsonConvert.SerializeObject(gmap);
//Hack to get zoom to an int. Probably bug that's a string in model.
//If a string the map won't show up and there is an error saying that zoom is not an int.
json = json.Replace("\"zoom\":\"15\"", "\"zoom\":15");
d.SetValue("Position", json);
The problem is the in the model it's a string but in the json it has to be a int.
from our.umbraco.gmaps.
@jonas-jaderberg can you explain where the error shows up? Do you get it when trying to set the value, read it out, or when rendering the map in the Umbraco BackOffice? Is it a JavaScript error or C#?
from our.umbraco.gmaps.
@jonas-jaderberg I've relented and made Zoom an int 😅 - version bumped to 2.1.0 as this is a potential breaking change. I've also fixed the controller so it can automatically convert from string to number in legacy data.
from our.umbraco.gmaps.
Tested 2.1.0 and it worked, great!
from our.umbraco.gmaps.
@robertjf could you also set a default zoom level when using legacy data?
I have to look into it a bit deeper what the exact problem is and if I can fix it, but since the upgrade it breaks for me (legacy v8 upgraded to v11) with the error:
JsonSerializationException: Error converting value {null} to type 'System.Int32'. Path 'mapconfig.zoom', line 1, position 224.
Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, object value, CultureInfo culture, JsonContract contract, Type targetType)
Could make a new issues if needed
from our.umbraco.gmaps.
Related Issues (20)
- Console Error in Back-office: "No url found for api name gMapsBaseUrl" HOT 5
- Entering a coordinate HOT 4
- Umbraco 10 support HOT 1
- files are copying into every project inside the solution HOT 6
- Coordinates are not parsed correctly on non-en-US cultures HOT 2
- Core dll not included for .NET 6 in NuGet package HOT 1
- coordinates not supported when serialising/deserialising with System.Text.Json HOT 1
- not loading in backoffice HOT 3
- Controller registered as a front-end controller and not a backoffice controller HOT 1
- Zoom currently breaks when using Legacy data (str vs int) HOT 3
- Support for various Umbraco versions HOT 2
- Add a ToString() override to the Address object so that it can display the full address in an interpolated string.
- GMaps not displayed in Back Office (Umbraco 11.2.2) HOT 1
- Prevent address values from being format to all lowercase in views ? HOT 11
- v3.0 doesn't install into Umbraco v10
- Umbraco v8 (GMaps: 1.3.3) to Umbraco v10 (GMaps 3.0.0) legacy data value converter issues HOT 1
- Revisited: Umbraco v8 (GMaps: 1.3.3) to Umbraco v10 (GMaps 3.0.0) legacy data value converter issues
- Plans for Umbraco 14?
- MapType of styled_map, fails to deserialize.. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from our.umbraco.gmaps.